windwos bat命令 备份mysql数据库

windwos bat命令 备份mysql数据库

昨天写了一个linux 备份mysql 的sh脚本
想了一下,如果在window 环境下面如何定时备份 mysql 数据库

单机运行mysql 总觉得不靠谱,担心出问题,
数据库可能因为硬件故障、软件故障、恶意攻击、人为错误等导致数据丢失。备份可以帮助恢复数据,减少数据丢失的风险。

1、程序错误 数据库中的数据可能因为病毒感染,磁盘错误等原因而损坏,导致无法正常使用。
2、人为错误
3、运算失败
4、磁盘故障
5、灾难(盗窃自然灾害、火灾、洪水)等不可预测事件可能导致数据库的物理损坏或无法访问。

为了保险起见,所以在另外一台机器上备份 mysql 服务器数据 思路如下

1、每天业务低峰期定时备份
2、备份整个mysql实例下多个数据库
3、能讲备份后的sql 文件压缩 减少磁盘占用
4、将备份文件删除
5、保留15天的备份压缩文件。

@echo off & setlocal ENABLEEXTENSIONS

REM 使用mysqldump逐个备份所有数据库到指定目录

REM 备份文件存放的路径
set BACKUP_PATH=E:\MySqlBackUp\SqlBack\Dw

REM 设置数据库参数 
set MYSQL_PATH=D:\mysql-5.7.25-winx64\bin\
set HOST=192.168.2.xxx
set PORT=3306
REM 同一个实例下面 多个数据库 用空格 隔开test1 test2 test3
set DATABASES=test1 test2 test3
set USERNAME=root
set PASSWORD=123456

REM 获取时间参数 
set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%
set HOUR=%time:~0,2%
if %HOUR% LSS 10 (
    set HOUR=0%time:~1,1%
)
set MINUTE=%time:~3,2%
set SECOND=%time:~6,2%

set ADDON=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND%

REM 创建备份文件夹
if not exist %BACKUP_PATH% (
echo %BACKUP_PATH%
mkdir %BACKUP_PATH%  > nul
)

REM 判断 文件夹是否创建成功,没有的话则退出
if not exist %BACKUP_PATH% (
echo Backup path: %BACKUP_PATH% not exists, createdir failed.
goto exit
)

REM cd /d %BACKUP_PATH%

cd /d %BACKUP_PATH%

echo Start dump databases...

REM 循环遍历备份数据库
for %%D in (%DATABASES%) do (

echo Dumping database %%D ...

REM 备份数据库文件
%MYSQL_PATH%\mysqldump.exe -h%HOST% -u%USERNAME% -p%PASSWORD% -P%PORT% --default-character-set=utf8 --single-transaction --quick %%D > %%D_%ADDON%.sql

REM 压缩备份的.sql文件 (想要压缩sql文件,备份的机器上必须安装WinRAR软件) WinRAR软件路径换成备份服务器上的地址 C:\Program Files\WinRAR\WinRAR.exe 
"C:\Program Files\WinRAR\WinRAR.exe" a -ibck -m5 %%D_%ADDON%.rar %%D_%ADDON%.sql

REM 压缩完成后 删除.sql 文件
del %%D_%ADDON%.sql

echo Backup database %%D Sucess...

)

REM 删除历史备份.rar文件 释放存储空间  -15 代表14天前的文件 
REM 第一次备份出现 错误: 用指定的搜索标准没有找到文件。 是正常现象因为不存在14天前的文件,如果想要测试,可以将 -15 改成0
Forfiles /p %BACKUP_PATH% /s /d -15 /m *.rar /c "cmd /c del /q /f @path"

echo Done

:exit

脚本放到 txt 文件下 ,对应修改路径地址 用户名密码
然后设置windows 定时调度任务 定时 执行bat 文件即可。
定时任务 参考
Windows通过计划任务定时执行bat文件

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值