@title MySQL backup start@echo offsetlocal enabledelayedexpansion @color 0a:: --------------------参数设置------------------------:: 设置时间变量set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%":: 要备份的数据库名称,多个用空格分隔set DATABASES=database1 database2:: HOST IPset HOST=127.0.0.1:: PROT 端口set PROT=3306:: MySQL 用户名set USERNAME=root:: MySQL 密码set PASSWORD=123456:: MySQL Bin 目录,加 \:: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可 D:\Java\mysql\bin\set MYSQL=:: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式set WINRAR=C:\Progra~1\WinRAR\Rar.exe:: 备份天数set DT=30:: 备份放置的盘,加 \set BACKUP_PATH=D:\:: 备份放置的路径,加 \set FILE=Backup\:: --------------------开始备份------------------------for %%D in (%DATABASES%) do ( if exist %BACKUP_PATH%%FILE%%%D ( echo 目录%BACKUP_PATH%%FILE%%%D已存在,无需创建 ) else ( echo 创建%BACKUP_PATH%%FILE%%%D md %BACKUP_PATH%%FILE%%%D ) :: 删除 forfiles /p "%BACKUP_PATH%%FILE%%%D" /m %%D_*.sql -d -%DT% /c "cmd /c del /f @path" cd %MYSQL% :: 备份 mysqldump --opt --single-transaction=TRUE --user=%USERNAME% --password=%PASSWORD% --host=%HOST% --protocol=tcp --port=%PROT% --default-character-set=utf8 --single-transaction=TRUE --routines --events "%%D" > %BACKUP_PATH%%FILE%%%D\%%D_%Ymd%.sql):: --------------------结束备份------------------------@echo on
新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如上:
创建Windows计划任务
开始菜单找到任务计划程序并打开。
创建任务
新建触发器
新建操作
运行任务即可。