学习笔记093——Windows系统如何定时备份远程服务器的mysql文件到本地?
-
前提:Windows本机需要已安装mysql。(如果没安装就不用往下看了)
-
编写bat脚本
文件名称:
mysql_backup.bat
核心参数说明:
REMOTE_HOST
: 远程服务器ipREMOTE_PORT
: 远程服务器mysql端口REMOTE_USER
: 远程mysql账号REMOTE_PASSWORD
: 远程mysql密码DATABASE_NAME
: 需要备份的数据库名BACKUP_DIR
: sql文件备份到Windows本地位置
@echo off
REM 设置字符集为UTF-8,防止中文乱码
chcp 65001REM 配置数据库连接信息
set REMOTE_HOST=192.168.1.200
set REMOTE_PORT=3306
set REMOTE_USER=root
set REMOTE_PASSWORD=123456
set DATABASE_NAME=lt_wmgREM 配置本地备份目录(确保此目录存在!)
set BACKUP_DIR=D:\MySQL_BackupsREM 使用日期时间生成备份文件名
set TIMESTAMP=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set FILENAME=%DATABASE_NAME%_backup_%TIMESTAMP%.sqlREM 执行备份命令
echo [%DATE% %TIME%] 开始备份数据库 %DATABASE_NAME%...
mysqldump -h%REMOTE_HOST% -P%REMOTE_PORT% -u%REMOTE_USER% -p%REMOTE_PASSWORD% --single-transaction --routines --triggers --databases %DATABASE_NAME% > "%BACKUP_DIR%\%FILENAME%"REM 检查上一个命令是否执行成功
if %errorlevel% equ 0 (echo [%DATE% %TIME%] 备份成功!文件已保存至:%BACKUP_DIR%\%FILENAME%
) else (echo [%DATE% %TIME%] 备份失败!请检查配置信息。pause
)REM (可选) 自动删除7天前的备份文件以节省空间
forfiles /p "%BACKUP_DIR%" /s /m *.sql /d -7 /c "cmd /c del /q @path"
echo [%DATE% %TIME%] 已清理7天前的备份文件。
- 创建Windows任务计划
1、按 Win + R
,输入 taskschd.msc
2、创建基本任务:
- 名称:
MySQL Daily Backup
(可自定义) - 触发器:每天执行
- 操作:启动程序,选择你的bat文件
- 完成创建