侧边栏壁纸

Mysql自动定时备份脚本(Windows平台)

2022年09月15日 191阅读 0评论 0点赞
为了保证数据库的数据安全与使用,我们常常要做数据的备份。其中最常见的是冷热双备。比如我们可以搭建MySQL集群来做数据库的读写分离以及主从复制。除此之外,我们还有可能用到自动定时备份功能来备份我们数据库的安全。

mysql提供的mysqldump配合脚本以及Windows系统的定时任务,就能完美实现数据的定时备份。以下提供个人的定时备份解决方案。

备份脚本

记事本编辑代码,然后改文件后缀为bat,运行即可

@echo off

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

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

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=C:\backup\%dbname%-%backup_date%.sql


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

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

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

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

成功截图

image-1663210783293

定时任务

  1. 打开控制面板 > 管理工具 > 任务计划程序,创建任务:
    image-1663213112275
  2. 填写触发器,设定执行时间:
    image-1663213323694
  3. 添加执行脚本文件
    将刚才创建好的bat文件选中
    image-1663213463129
  4. 至此,大功告成。系统将会在指定时间会定时备份mysql数据库。
0

—— 评论区 ——

昵称
邮箱
网址
取消
人生倒计时
舔狗日记