windows下定时自动备份mysql数据库,使用bat批处理文件加系统自带任务计划程序工具定时自动备份

2020/06 18 14:06

目录

一、本人搭建环境说明

二、普通备份方式:

1、编写批处理文件(文件里的注释是用:rem XXX)

2、设置定时自动备份:

三、加强版,自动压缩文件,并加密压缩文件


 

一、本人搭建环境说明

操作系统:Windows  Server 2012 R2 Standard x64

数据库版本:Mysql 5.7.26

 

二、普通备份方式:

1、编写批处理文件(文件里的注释是用:rem XXX)

@echo off

rem 数据库相关配置
set dbname=mydb
set host=127.0.0.1
set port=3306
set user=root
set pass=123456

rem 备份根路径(会自动在此目录下创建以数据库名为文件夹的目录,备份文件会放在目录下)
set basedir=D:dbBackmysql

rem 文件名相关配置,生成的备份文件名格式:mydb-yyyyMMddhhmmss.sql
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set now=%DATE:~3,4%%DATE:~8,2%%DATE:~11,2%%hour%%TIME:~3,2%%TIME:~6,2%
set backupfile=%basedir%%dbname%%dbname%-%now%.sql
if not exist %dbname% md %dbname%

rem mysql安装的bin目录,需要目录下有“mysqldump.exe”文件
"C:mysqlbinmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%

将以上代码直接复制到新建的文本文件,注意将后缀 .txt 修改为 .bat

修改数据库相关配置、备份根路径和mysql安装目录,保存后直接双击运行测试执行

执行后会在备份根目录下以数据库名命名的目录下生成备份文件。

 

2、设置定时自动备份:

打开服务器上的“服务器管理器 => 工具 => 任务计划程序 => 创建基本任务”,见下图:

输入名称:

设置任务定时触发机制:

设置时间及间隔:

选择“启动程序”:

选择刚才创建的脚本,将脚本所在目录填至“起始于”:

完成即可。

通过以上设置,即可在设置的触发时间自动运行备份脚本,达到定时自动备份的目的。

 

三、加强版,自动压缩文件,并加密压缩文件

(使用bat调用WinRaR压缩为 .rar文件):

只需在以上bat文件后面加两行压缩及删除.sql文件的代码即可,完整代码如下:

@echo off

rem 数据库相关配置
set dbname=mydb
set host=127.0.0.1
set port=3306
set user=root
set pass=123456

rem 备份根路径(会自动在此目录下创建以数据库名为文件夹的目录,备份文件会放在目录下)
set basedir=C:dbBack

rem 文件名相关配置,生成的备份文件名格式:mydb-yyyyMMddhhmmss.sql
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set now=%DATE:~3,4%%DATE:~8,2%%DATE:~11,2%%hour%%TIME:~3,2%%TIME:~6,2%
set backupfile=%basedir%%dbname%%dbname%-%now%.sql
if not exist %dbname% md %dbname%

rem mysql安装的bin目录,需要目录下有“mysqldump.exe”文件
"C:mysqlbinmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
"C:Program FilesWinRARWinRAR.exe" a -ibck -m5 -p123456 %basedir%%dbname%%dbname%-%now%.rar %basedir%%dbname%%dbname%-%now%.sql
Del %basedir%%dbname%%dbname%-%now%.sql

注意以上是使用的bat文件调用WinRAR命令压缩的文件,系统需要安装了 WinRAR压缩工具,且上面的WinRAR路径需正确。

其中的 -p123456为设置压缩包密码,表示解压密码为:123456

 

已知问题:

如果是在win10上或不同操作系统上,有可能文件名相关配置里的时间会有偏离,我win10的机器使用如下代码即可:

将 set now=XXX  这一行替换成:

set now=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%

 

 

 

 

--转载请注明: http://www.macs.vip/archives/39