技术分享
Mysql使用mysqldump定时自动备份注意事项
2021-06-11
1.实现方法
通过批处理程序,然后添加到windows系统“控制面板”-“计划任务”中,定时执行。
批处理文件(bat)中代码如下:
@echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" C:\mysqldump --opt --single-transaction=TRUE --user=root --password=crcc --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "crchi_remote" > E:/db_backup/crchi_remote_%Ymd%.sql @echo on
说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。
通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)
2.注意事项
注:其他的步骤都照着网上博客操作问题不大,重点就是下面这一项,容易出问题!
批处理文件中代码mysqldump的路径,不能出现空格。因为mysql的安装路径通常是在Program Files的路径下,这就导致批处理文件执行不成功。备份出的文件是0kb。
解决:将mysqldump.exe复制到一个不存在空格的路径,笔者是直接放在C盘根目录下,执行成功。执行过程中会提示一个“using a password on command...”的提示,忽略,执行完备份即可自动消除。
- 标签:
-
行业资讯