澳门新葡新京 > 行业动态 > Server函数之空值处理,Server数据库设置自动备份策略

Server函数之空值处理,Server数据库设置自动备份策略
2019-12-29 02:36

一. 简单介绍

SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务.

 

数据库的备份也是日常工作中非常重要的一个环节。备份的方法非常的多.

今天给大家介绍最简单的一种方法: 直接通过SQL Server Management Studio的图形界面去设置备份策略.

而且这种操作方式对于即时性的备份需求的响应也是最快的, 不需要写代码, 直接通过图形化界面设置就可以创建备份策略.

图片 1

 

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

目录

coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。

二. 需求

下面就结合具体的工作场景来讲解如何创建备份策略.

例如, 对一个生产系统的备份一般是这样要求的:

  • 1. 每周六一个全量备份 (本篇文章只实现这个需求, 另外两个请大家参照需求1去实现)

  • 2. 工作日时间每天一个增量备份

  • 3. 全部的备份在一个月之后自己主动删除

1.下载mysql的repo源

 

三. 动手操作

操作步骤

1. 新建维护计划

2. 给维护计划命名

3. 创建维护计划的任务

4. 设置维护计划的任务

5. 设置子计划

6. 在作业中找到该计划, 并进行测试

7. 执行成功后, 在设置的备份文件中找到备份的bak文件

8. 若执行失败, 查看作业的历史记录并修正(一般可能是执行该作业的账号权限问题, 请自己探索)

 

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

Select coalesce(null,null,'1','2') //结果为 1

  实现每周六全量备份的需求

     1. 新建维护计划

    图片 2

 

 

      2. 给维护计划命名, 比如这里我们命名为"Saturday_full_backup"

图片 3

 

 

       3. 拖动工具箱, 创建维护计划的任务

图片 4

 

      4. 对任务进行设置, 参考如下图示(win10下, 设置任务的界面显示有点问题, 这里我截的是服务器的图)

          设置备份类型为:完整(全量)

图片 5

 

      5. 任务设置完成后, 设置子计划

        设置执行时间为:每周的周六, 晚上22点

      图片 6

 

图片 7

 

图片 8

 

      6. 备份策略设置完成后, 在左边的侧边栏里, 找到你创建的备份策略,

       SQL Server 代理 --> 作业 --> Saturday_full_backup.Subplan_1(你自己刚创建的备份策略)

        图片 9

 

      7. 右键点击该作业, 选择"作业开始步骤"

图片 10

 

      8. 作业执行成功后, 进入设置的备份文件夹,查看刚执行的备份任务

图片 11

 

      图片 12

 

 

至此, SQL Server数据库设置自动备份策略已完成~

  如果作业执行失败, 右键该作业, 查看"历史记录", 找到错误原因并修正

  一定要学会看报错日志, 这是以不变应万变的方法!

 

        

2.安装mysql-community-release-el7-5.noarch.rpm包


coalesce(expression1**,**...n) 与此 case函数等效:

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

mysql-utilities 是python编写 MySQL官方版的命令行工具集,涵盖主从校验,主从建立,主从切换等等

 

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

安装

rpm安装
注意 尽量不要通过yum来安装mysql-utilities,mysql-utilities 1.6.5和mysql-connector-python 8.0.12在一起有问题!

mysql5.6
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

卸载
yum -y remove mysql-community-release

mysql5.7
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm
yum install  mysql-utilities.noarch

mysql5.7 yum源 还会安装依赖mysql-connector-python 8.0.12-1.el7
图片 13

二进制安装

yum install mysql-connector-python
wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
tar -zxf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5

python ./setup.py build
python ./setup.py install

通过tar.gz安装和yum安装mysql-utilities出现错误
图片 14
图片 15

可能模块没有在搜索路径中
图片 16

export PYTHONPATH=$PYTHONPATH:/root/mysql-utilities-1.6.5/mysql/utilities/common/tools
试了也不行

安装mysql5.6 yum源以rpm形式安装的mysql-utilities不会报module找不到

解决

卸载原mysql-connector-python8.0版本 
yum  -y remove  mysql-connector-python
并下载安装mysql-connector-python-2.1.7
rpm -Uvh https://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.7-1.el7.x86_64.rpm

mysqldbcompare --version
MySQL Utilities mysqldbcompare version 1.6.5 
License type: GPLv2

当时还在纠结为什么安装mysql5.7 yum源在以yum安装mysql-utilities和以tar.gz形式来安装mysql-utilites
两种方式该有的/mysql/utilities/common和tools.py 下的check_python_version都有了,而安装mysql5.6
yum源不报错,查看 mysql-connector-python版本时才发现两者的版本不一样,在MySQL中 mysql-co
nnector-python 8.0.12-1.el7 高版本的不兼容低版本的,这是个坑-__-

CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
END