mysql备份脚本及遇到的坑
完整代码:
@echo off
set "yMd=%date:~,4%%date:~5,2%%date:~8,2%"
set "hms=%time:~,2%%time:~3,2%%time:~6,2%"
@echo 数据库备份
set "db1=ceshi1"
set "db2=ceshi2"
"C:/Program Files/MySQL/MySQL Server 5.7/bin/mysqldump.exe" -uroot -ppassword %db1%>"D:/mysql/%db1%_%yMd%-%hms%.sql"
"C:/Program Files/MySQL/MySQL Server 5.7/bin/mysqldump.exe" --defaults-extra-file="C:/ProgramData/MySQL/MySQL Server 5.7/my.ini" %db2%>"D:/mysql/%db2%_%yMd%-%hms%.sql"
@echo on
第一个问题:上述脚本数据库ceshi1备份,会出现警告[Warning] Using a password on the command line interface can be insecure.
mysql数据库的安全性保护机制会造成运行脚本会出现以下警告。

解决:
1、在my.ini配置文件中加入以下配置,注意:windows下mysql配置文件是my.ini,而linux下配置文件是my.cnf。
[mysqldump]
host=127.0.0.1
user=root
password=root
2、去掉-uroot -ppassword ,加入–defaults-extra-file="C:/ProgramData/MySQL/MySQL Server 5.7/my.ini"配置,注意:如果路径有空格需加入双引号,否者会出现以下错误。

第二个问题:如需定时执行,在windows中可以使用任务计划程序。
1、创建基本任务

2、输入名称与描述

3、设置触发时间



4、选择需要运行的脚本完成即可。

本文介绍了一种用于MySQL数据库备份的批处理脚本,包括如何避免在命令行上直接使用密码,以及如何通过任务计划程序实现定时备份。同时,解决了在Windows环境下使用mysqldump时出现的安全警告,并提供了配置my.ini文件的具体步骤。

8259

被折叠的 条评论
为什么被折叠?



