首先设置自动登录账号
//mysql 设置自动登录账户
mysql_config_editor set --login-path=bak --user=root --host=127.0.0.1 --port=50681 --password
然后编写脚本
rem ******MySQL backup start******
::@echo off
::删除一周前的备份数据
forfiles /p "E:\database\mysql_bak" /m bak_*.sql -d -7 /c "cmd /c del /f @path"
::设置时间变量,并解决时间小于12时有一个空格的问题
set h=%time:~0,2%
set h=%h: =0%
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,2%%time:~6,2%"
::进入mysql安装目录的bin目录下
::cd D:\application\mysql-5.7.25-winx64\bin
::执行备份操作
D:\application\mysql-5.7.25-winx64\bin\mysqlpump --login-path=bak --single-transaction --default-character-set=utf8mb4 --default-parallelism=8 -B analysis_develop > E:\database\mysql_bak\bak_analysis_develop_%Ymd%.sql