windows10下mysql数据库自动备份与还原(.bat),并创建计划任务

一、编写脚本及脚本解释

1.mysql数据库自动备份脚本

@echo off
@echo 开始备份数据库
set hour=%Time:~0,2%
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%
set host=192.168.6.246
set port=3308
set user=root
set pass=123456
set dbname=abcd
set back_path=D:\MySQL5\MySQL_back
set backupfile=%back_path%\%dbname%-%now%.sql
"D:\MySQL5\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
@echo 数据库备份成功
@echo 删除2天前备份的文件
forfiles /p "%back_path%" /s /m *.sql /d -2 /c "cmd /c del @path"
@echo 完成,3秒后程序退出

以下是对上边代码的解释:

@echo off
@echo 开始备份数据库      //命令行窗口中显示此条信息
set hour=%Time:~0,2%      //将hour设置为此刻小时位的时间,从0位置开始取2位
if "%Time:~0,1%"==" " set hour=0%Time:~1,1%      //(小时位如果是个位数例如9点,则默认不是09,而是 9,前一位位空)判断小时位第一位是否为空,如果为空则添加上0,如果不为空则不执行,hour为前一条语句设置的。
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%hour%%Time:~3,2%%Time:~6,2%      //获取具体时间
set host=192.168.6.246      //设置数据库的ip地址
set port=3308      //设置数据库端口号
set user=root      //设置用户名
set pass=123456      //设置用户密码
set dbname=abcd      //设置数据库名称
set back_path=D:\MySQL5\MySQL_back      //设置备份的数据库的存储文件夹路径
set backupfile=%back_path%\%dbname%-%now%.sql      //设置每次备份的数据库名称(此处为“数据库名-时间”)
"D:\MySQL5\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%      //备份数据库的语句。(前方引号中的路径,为数据库安装目录下,mysqldump.exe程序的路径)
@echo 数据库备份成功      //命令行窗口中显示此条信息
@echo 删除2天前备份的文件      //命令行窗口中显示此条信息
forfiles /p "%back_path%" /s /m *.sql /d -2 /c "cmd /c del @path"     //删除文件修改日期为2天前的数据库备份文件(如果更改删除文件的时间,只需更改语句中数字)注意:如果没有两天前的备份,会报错,没关系
@echo 完成,3秒后程序退出      //命令行窗口中显示此条信息

 

2.mysql数据库备份脚本

@echo 开始恢复数据库
set host=192.168.6.72
set port=3310
set user=root
set pass=super
set dbname=test123
set back_path=D:\MySQL5\MySQL_back
set dbname_back=abcd-20191225-172133
set backupfile=%back_path%\%dbname_back%.sql
"D:\MySQL5\bin\mysql" -h%host% -P%port% -u%user% -p%pass% %dbname%< %backupfile%

以下是对上边的代码解释:

@echo 开始恢复数据库      //命令行窗口中显示此条信息
set host=192.168.6.72      //要还原的数据库IP地址
set port=3310      //要还原的数据库端口
set user=root      //设置用户名称
set pass=super      //设置用户密码
set dbname=test123      //设置数据库名称
set back_path=D:\MySQL5\MySQL_back      //备份的数据库路径
set dbname_back=abcd-20191225-172133      //设置备份的数据库具体名称
set backupfile=%back_path%\%dbname_back%.sql      //将具体的路径和名称合并,
"D:\MySQL5\bin\mysql" -h%host% -P%port% -u%user% -p%pass% %dbname%< %backupfile%      //还原数据库的语句。(前方引号中的路径,为数据库安装目录下,mysql.exe程序的路径)

 

注意:如果命令行窗口的中文乱码,是因为脚本编码不是ANSI编码,转换成ANSI编码即可解决

二、windows10下创建计划任务

1.右击此电脑图标,选择管理,选择任务计划程序库。(或者在控制面板的管理工具中,选择计划任务)

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第1张图片windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第2张图片

2.选择右侧的创建任务

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第3张图片

3.自定义填入计划任务名称

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第4张图片

4.选择触发器,点击【新建】,在弹窗中更改计划。之后点击【确定】

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第5张图片

5.选择操作,点击【新建】,在弹窗中选择启动程序(默认即为启动程序),点击浏览,选择你的脚本文件。点击确定

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第6张图片

6.此时基本配置已配置完毕,点击确认即可。此时可从列表中看到刚才创建的计划任务

windows10下mysql数据库自动备份与还原(.bat),并创建计划任务_第7张图片

7.若想试验是否成功,可通过调整计划所在电脑的时间来测试。

 

 

 

你可能感兴趣的:(MySQL,mysql,计划任务,脚本,bat,数据库备份还原)