mysql 定时执行备份数据库脚本

本文介绍了一个使用批处理脚本和Windows任务计划程序自动备份MySQL数据库的方法。通过设置定时任务,可以每天自动执行备份脚本,确保数据库得到定期备份。脚本还包括了清理过期备份的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

@echo off 

:: ------- 配置项 ------- 

:: 要执行的文件名 
set FILE=C:\web\mysqlback\mysqlbackup.bat
:: 计划频率类型 
set FREQUENCY=DAILY 

:: 频率,与上面的计划频率类型对应 
set MODIFIER=1 

:: 该计划执行的时间(24 小时制) 
set DATETIME=00:30:00 

:: 计划的名字 
set NAME="Backup Mysql Job" 

:: 计划执行用户,不建议修改 
set USER="System" 

:: ------- 以下请勿修改 ------- 

schtasks /Create /RU %USER% /SC %FREQUENCY% /MO %MODIFIER% /ST %DATETIME% /TN %NAME% /TR %FILE% 
pause
@title MySQL backup start 
@echo off
setlocal enabledelayedexpansion
@color 0a
:: --------------------参数设置------------------------
:: 设置时间变量
set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%
:: 如果在 dos 下输入 time 返回的不是 24 小时制(没有 0 填充),请自行修改此处 
set HOUR=%time:~0,2%
set MINUTE=%time:~3,2%
set SECOND=%time:~6,2%
 
set "Ymd=%YEAR%%MONTH%%DAY%"
:: 要备份的数据库名称,多个用空格分隔
set DATABASES= 数据库名称
:: HOST IP
set HOST=127.0.0.1
:: PROT 端口
set PROT=3306
:: MySQL 用户名
set USERNAME=root
:: MySQL 密码
set PASSWORD= mysql密码
:: MYSQLDUMP 安装目录
set MYSQLDUMP="C:\Progra~1\MySQL\MySQL Server 5.7\bin\mysqldump.exe"
:: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式
set WINRAR=C:\Progra~1\WinRAR\Rar.exe
:: 备份天数,会自动删除30天之前的数据
set DT=30
:: 备份放置的盘,加 \
set BACKUP_PATH=C:\
:: 备份放置的路径,加 \
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"
    :: 备份
    %MYSQLDUMP%  --opt --single-transaction=TRUE --user=%USERNAME% --password=%PASSWORD% --host=%HOST% --protocol=tcp --port=%PROT% --default-character-set=utf8mb4 --single-transaction=TRUE --routines --events "%%D" >"%BACKUP_PATH%%FILE%%%D\%%D_%Ymd%.sql"
)
:: --------------------结束备份------------------------
@echo on

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值