windows环境下-mysql自动备份

windwos环境设置mysql自动备份

说明:

  • 利用MySQL提供的备份命令mysqldump
  • 结合Windows的任务计划程序
  • 此方法可以不用关闭数据库,并且可以按每一天备份的时间来命名备份文件。

1-编写脚本

新建一个数据库备份文件的存放目录,如:C:\mysql_backup

注意:目录地址中不要带空格!

新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如下:

 1     rem ******MySQL backup start******
 2     @echo off
 3     
 4     ::删除一周前的备份数据
 5     forfiles /p "c:\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
 6     
 7     ::设置时间变量
 8     set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
 9     
10     ::进入mysql安装目录的bin目录下
11     cd C:\Program Files\MySQL\MySQL Server 5.7\bin\
12     ::执行备份操作
13     mysqldump --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "testdba" > c:\mysql_backup\backup_%Ymd%.sql
14     
15     @echo on
16     rem ******MySQL backup end******

 

  • forfiles 为删除过期文件的命令,-d -7 删除7天的文件;
  • 关于时间参数的参考:
1         %date:~0,10%      //提取年月日信息
2         %date:~-3%         //提取星期几信息
3         %time:~0,5%         //提取时间中的时和分
4         %time:~0,-3%       //提取时和分和秒信息
  • mysqldump 为MySQL提供的备份命令,该命令所在目录为MySQL安装目录下的bin文件夹中,此处直接使用该命令的前提是该命令所在bin文件夹已被设置为系统环境变量,如未设置,则要写全路径;
  • –user=root 为 MySQL 用户名;
  • –password=123456 为 MySQL 密码;
  • –host=127.0.0.1 为 MySQL 主机名;
  • “testdba” 为要备份的数据库的名称;
  • backup_%Ymd%.sql 是根据当前时间规则生成备份文件的名称。

2-添加定时任务

在Windows Server2012中,我们进入服务器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:  

 

 

3-测试结果:

 

posted @ 2020-12-16 11:40  林远  阅读(361)  评论(0编辑  收藏  举报