Windows下定时全备份mysql,包括数据库结构数据、存储过程、函数等,并调用winrar压缩备份文件

1.新建文本文档,编辑,保存为bat文件,其中参数变量根据自己实际环境修改。

::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:\db_backup
::winRAR路径
set winrarPath=F:\Program Files\WinRAR
::备份文件的名字前半部分-后半部分使用的是上面的时间参数
set backupFileName=备份的数据库名_
::备份文件的保存天数
set days=7
::要备份的数据库服务器的ip
set host=127.0.0.1
::要备份的数据库服务器的端口
set port=3306
::要备份的数据库登录名
set user=root
::要备份的数据库登录密码
set password=数据库登录密码
::要备份的数据库名
set dbName=备份的数据库名
::默认的字符集
set charSet=utf8

::删除备份的sql原文件
del %backupPath%\%backupFileName%*.sql
::根据上面设置的days参数删除以前的备份数据
forfiles /p "%backupPath%" /m %backupFileName%*.rar /d -%days% /c "cmd /c del @path"
 
::进入mysql安装目录的bin目录下
cd %mysqlBinPath%
::执行备份操作
mysqldump --opt --single-transaction=TRUE  --quick  --triggers -R --user=%user% --password=%password% --host=%host% --protocol=tcp --port=%port% --default-character-set=%charSet%  %dbName% > %backupPath%\%backupFileName%%dateTime%.sql


::调用winrar压缩
"%winrarPath%\WinRAR.exe" a -ep1 -o+  -inul -r -ibck %backupPath%\%backupFileName%%dateTime%.rar %backupPath%\%backupFileName%%dateTime%.sql


@echo on
::rem ========================MySQL backup end========================

2.创建windows任务计划程序定时执行脚本。

参考:https://blog.csdn.net/vfsdfdsf/article/details/89331943

你可能感兴趣的:(MySQL)