Windows下MySQL定时备份脚本的实现

(编辑:jimmy 日期: 2024/11/11 浏览:2)

在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合。其中,MySQL数据库备份,起到关键作用是mysqldump。有关于mysqldump命令的用法,可以找MySQL的官方文档了解。

1 备份脚本

@echo off

echo 设置MySql数据库的连接信息
set host=127.0.0.1
set port=3306
set user=root
set pass=admin

echo 设置要备份MySql数据库名称
set dbname=test

echo 获取当天的日期格式,例如:20200902231300
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%

set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%

echo 设置备份文件的路径
set backupfile=D:\mysql\beifen\%dbname%-%backup_date%.sql


echo 使用mysqldump对指定的MySql进行备份
echo 注意路径中有空格的要加上双引号

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%

echo 删除过期文件,这里是超过30天就删除

forfiles /p D:\mysql\beifen /s /m *.sql /d -30 /c "cmd /c del @file /f"

2 备份成功截图

Windows下MySQL定时备份脚本的实现

方法二、windows下Mysql自动备份脚本

:: 编写脚本时的Mysql版本是 mysql5.5.16 Ver 14.14 Distrib 5.5.16, for Win32 (x86)
:: 本脚本用于保存一个数据库

:: 配置脚本参数
:: 配置数据库用户
SET DB_USER=root

:: 配置数据库密码
SET DB_PASSWORD=yuanse3366

:: 配置备份的数据库名称
SET DB_NAME=soms

:: 配置备份的文件路径
SET SAVE_PATH=D:\databack\data

:: 配置mysqldump的路径
SET MYSQL_DUMP_PATH=D:\wamp\mysql\bin\mysqldump.exe

:: 开始工作
:: 跳转到工作目录下
%SAVE_PATH:~0,2%
cd %SAVE_PATH%
:: 设置变量:备份文件名
SET BAK_FILE=%SAVE_PATH%\soms_bak_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%.sql
:: 开始做备份
%MYSQL_DUMP_PATH% -u%DB_USER% -p%DB_PASSWORD% %DB_NAME% --lock-all-tables -r%BAK_FILE%

将上面的脚本复制保存为BAT格式文件,修改配置参数,再添加到windows计划任务即可