windows下mysql全量自动定时备份

本文介绍了在Windows系统下实现MySQL定时备份的方法。将特定内容复制到txt文件并修改后缀为.bat形成脚本,修改变量为实际值。脚本会用winrar压缩备份文件,需安装winrar。最后在计划任务程序中添加定时任务即可完成定时备份。

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

把以下内容复制到txt文件中,修改文件后缀名为.bat,即为脚本,还需要修改下各个变量的值为你的实际值。脚本最后备份后会用winrar压缩成.rar压缩文件,故需要电脑按照winrar.exe,压缩后的大小比原来大大减少。然后在windows的计划任务程序中添加定时任务即可。

 

rem ========================MySQL backup start========================
@echo off

::设置变量
::拼接时间参数
set dateTime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
::早上10点以前时间变量中会出现空格,把时间变量中的空格替换为0
set "dateTime=%dateTime: =0%"
::本机安装的mysql的bin目录路径
set mysqlBinPath=C:\Program Files\MySQL\MySQL Server 5.7\bin\
::备份文件存储的目标路径
set backupPath=D:\mysqlbakup
::备份文件的名字前半部分-后半部分使用的是上面的时间参数
set backupFileName=mysqlAutoBackup_
::备份文件的保存天数720,2年
set days=720
::要备份的数据库服务器的ip
set host=127.0.0.1
::要备份的数据库服务器的端口
set port=3306
::要备份的数据库登录名
set user=root
::要备份的数据库登录密码
set password=123456
::要备份的数据库名
set dbName=dbtest
::默认的字符集
set charSet=utf8
::winrar所在的路径
set winrar_dir=C:/Program Files/WinRAR/


::根据上面设置的days参数删除以前的备份数据
forfiles /p "%backupPath%" /m %backupFileName%*.sql /d -%days% /c "cmd /c del @path"

::进入mysql安装目录的bin目录下
cd %mysqlBinPath%
::执行备份操作
mysqldump --opt --single-transaction=TRUE --user=%user% --password=%password% --host=%host% --protocol=tcp --port=%port% --default-character-set=%charSet% --routines --events %dbName% > %backupPath%\%backupFileName%%dateTime%.sql
echo %backupPath%\%backupFileName%%dateTime%.sql

cd %winrar_dir%
:: a为读取所有文件 ep从名称里排出路径 df为压缩文件后删除原来的文件
rar.exe a -ep -df %backupPath%\%backupFileName%%dateTime%.rar %backupPath%\%backupFileName%%dateTime%.sql
::del %backupPath%\%backupFileName%%dateTime%.sql
@echo on
rem ========================MySQL backup end========================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值