Win7_MySQL定时备份

1.建立backup_db.bat文件,写入下面命令:

同时导出数据库结构和数据

rem ******MySQL backup start********

@echo off

forfiles /p "E:\MySQL_bak" /m *_bak.sql -d -30 /c "cmd /c del /f @path"

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

"C:\Program Files\MySQL\MySQL Server 5.7\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 "mybaiyou" > "E:\MySQL_bak\%Ymd%_bak.sql"

@echo on

rem ******MySQL backup end********

 

分开导出数据库结构和数据(推荐)

rem ******MySQL Structure backup start********

@echo off

forfiles /p "E:\MySQL_bak" /m *_bak.sql -d -30 /c "cmd /c del /f @path"

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

"C:\Program Files\MySQL\MySQL Server 5.7\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 -d "mybaiyou" > "E:\MySQL_bak\structure_%Ymd%_bak.sql"

rem ******MySQL Structure backup end********

rem ******MySQL Data backup start********

"C:\Program Files\MySQL\MySQL Server 5.7\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 -t "mybaiyou" > "E:\MySQL_bak\data_%Ymd%_bak.sql"

@echo on

rem ******MySQL Data backup end********

 

 

命令:forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

解释:将文件夹"E:\mysql\MySQL BackUp"backup_*.sql文件30天后删除

 

命令:set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

解释:windowscmd命令取当前时间,set赋值给变量Ymd

%date:~0,4%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2014(年的值)
%date:~5,2%  表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是03(月的值)
%date:~8,2%  表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是01(日的值)
%date:~5%    表示指针从左向右偏移5位,然后提取所有的值
%date:~-5%   表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。

%date:~0,10%      //提取年月日信息
%date:~-3%         //提取星期几信息
%time:~0,5%         //提取时间中的时和分
%time:~0,-3%       //提取时和分和秒信息

测试:md d:\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

 

命令:"E:\mysql\MySQL Server 5.6\bin\mysqldump"

解释:使用MySQL自带备份工具mysqldump.exe

 

命令: --routines

解释:导出存储过程以及自定义函数

 

命令: --events

解释:导出事件

 

命令:数据库名 > xxx.sql

解释:导出数据和表结构(导入时,可能出现表未建立,先插数据异常)

命令:-d 数据库名 > structure_yymmddHHmmss.sql

解释:导出结构不导出数据

命令:-t 数据库名 > data_yymmddHHmmss.sql

解释:导出数据不导出结构

 

tips:导入不要使用客户端工具,可能会超时。

 

2.设置Windows定时任务:

我的电脑-管理

Win7_MySQL定时备份_第1张图片

Win7_MySQL定时备份_第2张图片

Win7_MySQL定时备份_第3张图片

Win7_MySQL定时备份_第4张图片

Win7_MySQL定时备份_第5张图片

Win7_MySQL定时备份_第6张图片

如果没有显示,重新打开计算机管理即可。

选中右键可以立刻执行该定时任务。


 

你可能感兴趣的:(数据库)