Mysql实现定时自动备份(Windows环境)
一.新建数据库备份目录
二.新建批处理文件
创建批处理文件mysql_backup.bat
@echo off
set BACKUP_DIR=D:\backup
set MYSQL_USER=root
set MYSQL_PASS=123456
set MYSQL_HOST=localhost
set DATABASE_NAME=phoenix
set DATE=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
set DATE=%DATE: =0%
REM 自己安装mysql的路径
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
REM 创建备份文件
mysqldump -u %MYSQL_USER% -p%MYSQL_PASS% -h %MYSQL_HOST% %DATABASE_NAME% > %BACKUP_DIR%\mysql_backup_%DATABASE_NAME%_%DATE%.sql
REM 压缩备份文件(可选)
REM 你也可以选择使用 zip 或其他压缩工具进行备份压缩
REM 例如使用 7zip
REM "C:\Program Files\7-Zip\7z.exe" a -tzip %BACKUP_DIR%\mysql_backup_%DATE%.zip %BACKUP_DIR%\mysql_backup_%DATE%.sql
REM 删除超过30天的备份文件(可选)
forfiles /p "%BACKUP_DIR%" /m *.sql /d -30 /c "cmd /c del @path"
[mysqldump]
user=user_name
password=password
如果要备份多个数据库
可以通过空格分隔数据库名称。例如,假设你要备份 database1
和 database2
,脚本如下
REM 创建备份文件
mysqldump -u %MYSQL_USER% -p%MYSQL_PASS% -h %MYSQL_HOST% database1 database2 > %BACKUP_DIR%\mysql_backup_database1_database2_%DATE%.sql
mysql 5.6 以上版本的数据库可能会报下面错误
mysqldump: [Warning] Using a password on the command line interface can be insecure
.
解决办法:
在mysql_backup.bat 最后面加
[mysqldump]
user=user_name
password=password
三.设置 Windows 任务计划程序(Task Scheduler)
步骤:
1.打开“任务计划程序”(按 Win + R 输入 taskschd.msc
并按回车)。
2.在右侧面板,点击“创建基本任务…"。
3.设置任务的名称和描述,然后点击“下一步”。
4.选择任务触发器(选择每天)
5.设定每天备份的时间,可以选择每天固定的时间
6.设定好时间后选择启动程序
7.选择刚刚创建的批处理文件,点击完成
8.查看备份程序
9.刚刚设定的时间为每天18:10分,等到18:10分时,可以看到备份目录的数据库信息