目录
1、脚本内容
@echo off
set curdate=%date:~,4%%date:~5,2%%date:~8,2%
set backuppath=D:\backup
set mysqlfile="D:\backup\mysql_mysqldump"
set configfile="D:\backup\mysql_config"
%mysqlfile%\mysqldump.exe --defaults-extra-file=%configfile%\config.cnf msmajor >%backuppath%\%curdate%.sql
forfiles /p "%backuppath%" /s /m msmajor_*.sql /d -10 /c "cmd /c del @file"
@echo on
文件【config.cnf】内容:
[client]
default-character-set=utf8
host=localhost
user=账号
password='密码'
2、说明
set backuppath=D:\backup
说明:备份文件生成地址。
set mysqlfile="D:\backup\mysql_mysqldump"
说明:使用mysql中的mysqldump.exe进行备份。
mysqldump.exe文件来自:C:\Program Files\MySQL\MySQL Server 5.7\bin
set configfile="D:\backup\mysql_config"
说明:存放config.cnf配置文件地址;用于解决MySQL因备份直接使用密码,导致提示密码不安全的问题。
3、参考资料
1、windows环境下 Mysql数据库自动备份
https://blog.youkuaiyun.com/mystonelxj/article/details/79876751
2、解决MySQL5.6出现"Using a password on the command line interface..."翻译过来是:在命令行界面上使用密码可以是不安全的;
https://www.laozuo.org/6799.html
【解决方法】单独配置config.cnf存放账号和密码
3、'C:\Program' 不是内部或外部命令,也不是可运行的程序问题的解决方案
https://blog.youkuaiyun.com/yoga0617/article/details/81629666
【解决方法】给Program Files加上双引号
4、mysqldump备份数据库时文件为空的问题
https://blog.youkuaiyun.com/bestkilly/article/details/72850812
【解决方法】
安装mysql路径 \MySQL\MySQL Server 5.5\bin的mysqldump.exe文件复制到D盘路径下
原因是:\MySQL\MySQL Server 5.5\bin的mysqldump.exe的路径中含有空格符号