在Windows系统中使用脚本定时备份和恢复MySQL数据库的数据

1. 定时备份

1.1 创建备份脚本

创建脚本:back.bat

rem ******MySQL backup start******
@echo off

::删除一周前的备份数据
forfiles /p "c:\sql_back" /m backup_*.sql -d -7 /c "cmd /c del /f @path"

::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"

::进入mysql安装目录的bin目录下
cd F:\mysql-5.7.34-winx64\bin\
::执行备份操作
mysqldump --opt --single-transaction=TRUE --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "hcmp_fj" > c:\sql_back\backup_%Ymd%.sql

@echo on
rem ******MySQL backup end******

PS:根据脚本中的保存路径创建目录c:\sql_back

参数说明:
1.forfiles 为删除过期文件的命令,-d -7 删除7天的文件;
2.设置时间变量默认即可;
3.mysqldump 为MySQL提供的备份命令,该命令所在目录为MySQL安装目录下的bin文件夹中,此处直接使用该命令的前提是该命令所在bin文件夹已被设置为系统环境变量,如未设置,则要写全路径;
4.–user=root 为 MySQL 用户名;
5.–password=123456 为 MySQL 密码;
6.–host=127.0.0.1 为 MySQL 主机名;
7.“hcmp_fj” 为要备份的数据库的名称;
8.backup_%Ymd%.sql 是根据当前时间规则生成备份文件的名称

1.2 创建定时任务

在Windows中创建定时任务有两种方式:

1.2.1 在计算机管理中创建定时任务

打开Win+r,运行“compmgmt.msc”,找到“任务计划程序库”,右键“创建任务”:
在这里插入图片描述
填写任务名称:
在这里插入图片描述
创建触发器:
在这里插入图片描述
设置操作:
在这里插入图片描述
可以在计划任务程序库中看到任务信息:
在这里插入图片描述

1.2.2 使用命令行创建定时任务

在cmd中直接运行:
每7分钟执行:

schtasks /create /tn backsql /tr G:\Desktop\back.bat /sc MINUTE /mo 7

每天1点执行:

schtasks /create /tn backsql /tr G:\Desktop\back.bat /sc DAILY /st 01:00

参数说明:
schtasks /create 创建任务
/tn 任务名称
/tr 脚本或exe路径
/sc 计划频率
/mo 频率间隔
/st 开始时间

使用命令行创建的定时任务也可以在“计划任务程序库”中看到
使用命令行关闭定时任务:

SCHTASKS /Delete /TN "backsql"

2. 恢复数据

@echo off
::要导入的sql数据脚本路径
set source_path=G:\Desktop\hcmp_fj.sql
::数据库ip
set db_host=127.0.0.1
::端口
set db_port=3306
::库名
set db_name=yyy
::用户名
set db_user=root
::密码
set db_pwd=root
::数据库不存在就创建
set create_db_sql=create database IF NOT EXISTS %db_name%
::切换到bin目录
cd F:\mysql-5.7.34-winx64\bin\
::执行SQL
mysql -h%db_host% -P%db_port% -u%db_user% -p%db_pwd% -e "%create_db_sql%"
mysql -u%db_user% -p%db_pwd% --default-character-set=utf8 %db_name% < %source_path%
ECHO 完成!
pause
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用Windows系统自带的任务计划程序(Task Scheduler)来定时备份MySQL数据库。具体步骤如下: 1. 编写备份脚本备份MySQL数据库之前,需要编写一个备份脚本来执行备份操作。可以使用mysqldump命令导出MySQL数据库,例如: ``` mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件名].sql ``` 其,[用户名]为连接MySQL数据库使用的用户名;[密码]为连接MySQL数据库使用的密码;[数据库名]为要备份数据库名;[备份文件名]为备份文件的名称。 将以上命令保存为一个.bat或者.sh脚本文件。 2. 创建任务计划 打开Windows系统自带的任务计划程序(Task Scheduler),点击“创建任务”按钮,输入任务名称和描述信息。 在“触发器”选项卡,设置备份MySQL数据库的时间和频率。 在“操作”选项卡,设置执行备份脚本的命令和参数,例如: ``` cmd /c "D:\backup\backup_mysql.bat" ``` 其,D:\backup\backup_mysql.bat为备份脚本文件的路径。 在“条件”选项卡,选择允许任务在电池供电状态下运行和允许任务在计算机空闲时运行选项,以确保任务在适当的条件下执行。 在“设置”选项卡,设置任务执行时的优先级和允许任务在超时时重启选项。 点击“确定”按钮,保存任务计划设置。 完成以上步骤后,Windows系统将会在指定的时间和频率执行备份MySQL数据库的任务。备份文件将保存在指定的路径

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值