MySQL在windows下自动定时备份以及还原

1. 使用脚本+Windows计划任务备份

1.1 编写备份脚本

rem date:20220307
rem ****** MySQL backup start ********
@echo off
forfiles /p "F:\SQL\MySQL\framework" /m backup_*.sql -d -15 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
"E:\MySQL\MySQL Server 8.0\Install\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=密码 --host=49.4.69.84 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "framework" > "F:\SQL\MySQL\framework\backup_%Ymd%.sql"
@echo on
rem ****** MySQL backup end ********

语法解释:
rem 表示注释,remark的缩写。在SHELL脚本中用#

forfiles /p "F:\SQL\MySQL\framework" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

forfiles 将备份路径下的过期备份进行删除。
"F:\SQL\MySQL\framework" 自己设置的备份文件的路径。
backup_*.sql 备份路径下,所有以backup_开头,以.sql结尾(后缀)的数据库备份文件。
30 表示30天过期。

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

set 定义一个“Ymd”的变量,赋值的内容是当前的日期和时间,就是生成了一个类似的时间戳,用来当sql脚本文件的名称。

"E:\MySQL\MySQL Server 8.0\Install\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=密码 --host=49.4.69.84 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "framework" > "F:\SQL\MySQL\framework\backup_%Ymd%.sql"

"E:\MySQL\MySQL Server 8.0\Install\bin\mysqldump" 这个路径表示调用MySQL自带的备份工具mysqldump,位置在MySQL的安装路径的bin目录中。
"framework" 需要备份的数据库
"F:\SQL\MySQL\framework\backup_%Ymd%.sql" 备份后保存的路径以及文件名称,这里的Ymd就是上面定义的变量。

注意:备份的文件路径需要是存在的,如果路径不存在,将备份失败。

1.2 配置任务计划

  • 打开windows的任务计划程序,在左侧创建一个MySQL的BackUp目录(或者其他名称),主要是方便管理,可以一目了然。
    在这里插入图片描述
  • 在BackUp目录上右键,创建任务,填入相关内容:
    常规:
    在这里插入图片描述
    触发器:
    在这里插入图片描述
    操作:
    在这里插入图片描述
  • 确定后,输入本机的账号密码即可:
    在这里插入图片描述
  • 每日定时备份,设置完成。

2. 使用Navicat premium 15 备份

备份文件的存储路径:
在这里插入图片描述

  1. 连接库,点击自动运行
    在这里插入图片描述
  2. 点击左下方的备份,然后选择要备份的数据库。如果要备份多个数据库,可以重复这个②、③ 的操作即可。
    在这里插入图片描述
  3. 点击保存
    在这里插入图片描述
  4. 点击计划任务

在这里插入图片描述
根据实际情况,设置备份的时间以及周期:
在这里插入图片描述
点击确定,输入电脑账号密码
在这里插入图片描述

  1. 保存
    在这里插入图片描述
    完成。
    在左侧的备份中,可查看备份的文件:
    在这里插入图片描述

3. 还原sql脚本

打开命令界面输入:

mysql -u root -P 3306 -h IP地址 -p密码 --default-character-set=utf8 -f db_yclb_framework_core < F:\SQL\MySQL\framework\backup_20220307050401.sql

--default-character-set=utf8 表示编码格式,最好加上以免中文乱码。
db_yclb_framework_core 要还原的目标数据库

命令执行后,会提示以下内容,忽略它,等待一会儿,数据库就还原好了。

mysql: [Warning] Using a password on the command line interface can be insecure.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值