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定时备份

Win7_MySQL定时备份

Win7_MySQL定时备份

Win7_MySQL定时备份

Win7_MySQL定时备份

Win7_MySQL定时备份

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

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


 

相关文章:

  • 2021-08-04
  • 2021-10-30
  • 2021-10-17
  • 2022-01-10
  • 2021-07-03
  • 2021-05-17
  • 2021-12-20
猜你喜欢
  • 2021-11-22
  • 2022-12-23
  • 2021-11-30
  • 2021-11-20
  • 2021-04-13
  • 2021-08-29
相关资源
相似解决方案