第一步:新建BAT脚本
@echo off
color 0D
MODE con: COLS=71 LINES=25
title mysql数据库自动备份脚本(任务计划)
::定义时间
set "data_time=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%"
@echo 开始备份数据库。
::备份数据库命令
"D:\Mysql\mysql-8.0.18-winx64\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "niter" > "D:\sqlback\niter_backup_%data_time%.sql"
@echo 删除七天前备份的文件。
forfiles /p "D:\sqlback" /m *_backup_.sql -d -7 /c "cmd /c del /f @path"
echo %Ymd% Delete expired files! >> sqlback.log
echo %Ymd% Successfully backed up the database files! >> sqlback.log
@echo 数据库备份完成,3秒后程序退出。
ping /n 3 127.0.0.1 >nul
exit
注意:
注意上面的脚本中 相关的参数 要在D盘中新建一个备份文件夹 就是 D:\sqlback
然后将上面 D:\Mysql\mysql-8.0.18-winx64\bin\mysqldump改成你mysql所在位置路径
上面中的 niter改成你要要备份的数据库名 adam
把 D:\sqlback\niter_backup_%data_time%.sql中的niter也改成adam
第二步:设定Windows任务
完成了上述步骤后,我们需要添加Windows计划任务。
在Windows Server2012中,我们进入服务器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:
打开了任务计划程序之后,我们点击右侧的“创建基本任务”:
然后,我们需要填写任务的名称,以及描述信息:
点击下一步之后,我们需要设定任务的执行频率,我选择的是“每天”:
再次点击“下一步”,设置任务执行的时间,我选择了夜深人静的1点:
在“下一步”中,我们选择“启动程序”:
在之后的对话框中,我们需要选择刚才所编写的批处理文件:
完成这些步骤后,windows会给我们看一下整个任务的概述信息:
确定无误之后,点击“完成”就可以了。此时我们就会看到在Windows的任务列表里,多了一条新的任务:
至此,在Windows环境下自动备份MySQL的设置就全部完成了。