Mysql 数据库自动备份

Mysql数据库的自动备份:

1.编写脚本:
---------------------以下为脚本内容------------
rem auther:www.yumi-info.com
rem date:20171222
rem MySQL backup start**
@echo off
forfiles /p “F:\MysqlBank” /m backup_*.sql -d -30 /c “cmd /c del /f @path”
set “Ymd=%date:0,4%%date:5,2%%date:8,2%0%time:1,1%%time:3,2%%time:6,2%”
“C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump” --opt --single-transaction=TRUE --user=root --password=12345 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events “cip_investigation” > “F:\MysqlBank\backup_%Ymd%.sql”
@echo on
rem MySQL backup end**

-----------------------------脚本内容结束-----------------------------
脚本解释:

命令: forfiles /p “F:\MysqlBank” /m backup_*.sql -d -30 /c “cmd /c del /f @path”

forfiles 用来对备份目录下的过期备份进行删除。
“F:\MysqlBank”是备份文件所在的路径,可以自行修改。
“backup_*.sql”指的是该路径下所有以“backup_”开头,以“.sql”作为后缀的数据库备份文件。而后面的数字“30”表示30天过期。


set “Ymd=%date:0,4%%date:5,2%%date:8,2%0%time:1,1%%time:3,2%%time:6,2%”
使用set命令来定义一个名为“Ymd”的变量,这个变量的值就是后面的一大串规则,简单说就是当前的日期和时间


“C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump”
这一行命令就是调用MySQL自带的备份工具了,注意这个路径必须写成你自己的“mysqldump.exe”所在的路径,一般都是在MySQL安装路径的/bin目录下。


–events “cip_investigation”
events参数即实现了将数据库备份到一个指定的文件这一操作。"yumi_website"是需要做备份的数据库,而大于号“>”右边的就是我们的备份文件所保存的服务器目录和文件名了。

2.设置windows定时任务:

完成了上述步骤后,我们需要添加Windows计划任务。
在Windows Server2012中,我们进入服务器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:
Mysql 数据库自动备份
打开了任务计划程序之后,我们点击右侧的“创建基本任务”:
Mysql 数据库自动备份
然后,我们需要填写任务的名称,以及描述信息:
Mysql 数据库自动备份
点击下一步之后,我们需要设定任务的执行频率,我选择的是“每天”:
Mysql 数据库自动备份
再次点击“下一步”,设置任务执行的时间,我选择了夜深人静的1点:
Mysql 数据库自动备份
在“下一步”中,我们选择“启动程序”:
Mysql 数据库自动备份
在之后的对话框中,我们需要选择刚才所编写的批处理文件:
Mysql 数据库自动备份
完成这些步骤后,windows会给我们看一下整个任务的概述信息:
Mysql 数据库自动备份
确定无误之后,点击“完成”就可以了。此时我们就会看到在Windows的任务列表里,多了一条新的任务:
Mysql 数据库自动备份
至此,在Windows环境下自动备份MySQL的设置就全部完成了。