查看: 1984|回复: 25

3步教你一键自动备份mysql数据库的方法

[复制链接]
发表于 2012-12-9 05:22:48 | 显示全部楼层 |阅读模式
备份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数据库备份工作需要。

发表于 2012-12-12 15:13:01 | 显示全部楼层
几头雾水…  
发表于 2012-12-17 20:09:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2012-12-22 10:03:53 | 显示全部楼层
支持~~顶顶~~~  
发表于 2013-12-3 05:05:37 | 显示全部楼层
谢谢分享!!!!!!!!!!!
发表于 2013-12-3 05:06:09 | 显示全部楼层

支持~~顶顶~~~  
发表于 2014-12-4 06:52:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-12-27 02:41:38 | 显示全部楼层
顶也~  
发表于 2015-1-27 06:36:43 | 显示全部楼层
文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。  
发表于 2015-3-1 04:06:52 | 显示全部楼层
好人一生平安  
高级模式
B Color Image Link Quote Code Smilies

本版积分规则