Windows 服务器进行 MYSQL备份的脚本,使用该脚本前,请先测试一下
1、新建一个文本文档
2、将下面代码放入文本文档中,保存退出
@echo off
:: 命令窗口名
title mysql-bak:: 参数定义
set "Y=%date:~,4%"
set "m=%date:~5,2%"
set "d=%date:~8,2%":: 打印文字提示
echo 正在备份,请稍后...
echo 请在备份完成前不要关闭该窗口...:: 判断有没有备份文件夹,没有就创建
if not exist "D:\mysql_bak\MYSQL_192.168.1.1\%Y%-%m%\" (mkdir "D:\mysql_bak\MYSQL_192.168.1.1\%Y%-%m%\"):: 连接mysql数据库备份
:: mysqldump --skip-ssl --opt --single-transaction=TRUE --user=帐号 --password=密码 --host=数据库ip --protocol=tcp --port=数据库端口号 --default-character-set=utf8 --single-transaction=TRUE --routines --events "需要备份的数据库名称" > "备份路径及备份文件名"
:: 样例
mysqldump --opt --single-transaction=TRUE --user=root --password=Ling@2023 --host=localhost --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "mysql" > "D:\mysql_bak\MYSQL_192.168.1.1\%Y%-%m%\mysql_%Y%_%m%_%d%.sql":: 打印文字提示
echo 备份完成;
echo 正在执行删除7天前文件...:: 开始执行删除7天前的文件
forfiles /p "D:\mysql_bak\MYSQL_192.168.1.1" /s /m *.* /d -7 /c "cmd /c del @path":: 打印文字提示
echo 删除完成;echo .& pause
@echo on
cmd.exe
3、修改文件文后缀为bat
双击测试执行
报错1:mysqldump: [ERROR] unknown option '--skip-ssl'.
删除连接数据库备份代码里的--skip-ssl