备份mysql一直是很多朋友比较头痛的问题,尤其是按按时间段备份,今天笔者将以图文教程的方法教你每天如何一键备份mysql数据库文件。 1、先是建立批处理文件,将以下代码另存为.bat文件,文件名最好为英文。注意下面的路径,以笔者自己的数据库为例,数据库安装在D盘下mysql\mysql下,备份位置在F:\beifen,后面的代码是日期。 @echo off color 0D MODE con: COLS=71 LINES=25 title mysql数据库自动备份脚本(任务计划)-- set sou_dir="D:\mysql\Mysql\data" set obj_dir=F:\beifen\%date:~0,10% net stop mysql md %obj_dir% xcopy /e /y %sou_dir% %obj_dir% net start mysql @echo off&setlocal enabledelayedexpansion call ,30 echo. 30天前日期为:%D% echo. 删除30天以前备份...... if exist F:\beifen\%D% rd /s /q F:\beifen\%D% echo 自动备份完成,程序将自动退出...... ping -n 2 127.0.0>nul exit :D for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do ( set Y=%%a&set M=%%b&set D=%%c if "!M:~0,1!"=="0" set M=!M:~1! if "!D:~0,1!"=="0" set D=!D:~1! ) set/a D-=%1 if %D% gtr 0 goto:Y :M set/a M-=1 if !M!==0 set/a Y-=1,M=12 set/a "T=^!(M-2)","R=(^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)","C=^!(M-4)|^!(M-6)|^!(M-9)|^!(M-11)","D=T*(28+R)+C*30+(^!T&^!C) *31+D" if %D% leq 0 goto:M :Y set M=0%M%&set D=0%D%&set D=%Y%-!M:~-2!-!D:~-2!
2、建立一个计划任务,可以每天或三天,甚至更长时间备份,备份时mysql自动停止,备份完成后,mysql会自动启动。打开控制面板---双击任务计划,按照提示一步步选择,如下图所示: 3、我们可以根据需要设定每天、每周或其他日期定期备份mysql数据库。笔者实验过,完全满足我们日常mysql数据库备份工作需要。 |