时间:2021-07-01 10:21:17 帮助过:28人阅读
备份mysql一直是很多朋友比较头痛的问题,尤其是按按时间段备份,今天笔者将以图文教程的方法教你每天如何一键备份mysql数据库文件。
1、先是建立批处理文件,将以下代码另存为.bat文件,文件名最好为英文。注意下面的路径,以笔者自己的数据库为例,数据库安装在D盘下mysqlmysql下,备份位置在F:beifen,后面的代码是日期。
@echo off
color 0D
MODE con: COLS=71 LINES=25
title mysql数据库自动备份脚本(任务计划)--脚本作者:http://www.***.com
set sou_dir="D:mysqlMysqldata"
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:D,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数据库备份工作需要。
本文原创自路饭网 http://www.45fan.com,转载需注明出处!
bitsCN.com