MySQL数据库定时备份

需求:对测试数据库的指定库每天早上备份一次,中午备份一次。防止队友对数据库的误删除操作。

实现方式:通过MySQL自带的musqldump实现数据库的备份功能,同时通过编写脚本实现将备份的sql保存到制定的目录。最后通过windoms自带的定时任务,实现每天的定时备份。

实现过程:首先是编写的脚本

@echo off
@setlocal enabledelayedexpansionl 
set dbType=inpo 
set dbname="glzc_%dbType%_uflo glzc_%dbType%_pt glzc_%dbType%_wp glzc_%dbType%_ma
set host=你的数据库地址
set port=3306
set user=root 
set password=root
set dir=存放sql的大路径 
set hour=%time: ~0,2%.
jif %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% 
set year %Date:~0, 4% 
set mouth=%Date:~5, 2% 
set day=%Date:~8, 2%
lif not exist %dir%\%year%\%mouth%\%day%\%dbType% md %dir%\%year%\%mouth%\%day%\%dbType% 
for %%i in (%dbname%) do ( 
set backupfile=%dir%\%year%\%mouth%\%day%\%dbType%\%%i-%backup_date%.sql 
"Mysql安装地址\bin\mysqldump" -h%host% -p%port% -u%user% --default-character-set-utf8 -p%password% -c --add-drop-table %%i> !backupfile! 

解读下
@echo off 关闭输出提示

@setlocal enabledelayedexpansionl 延迟加载 和后面for里面的!!合起来用,让电脑知道这是个变量

set dbType=inpo
set dbname="glzc_%dbType%uflo glzc%dbType%pt glzc%dbType%wp glzc%dbType%_ma
这两句就是指定的数据库名, 我们项目一个系统多个数据库,所以采用这种方式

lif not exist %dir%%year%%mouth%%day%%dbType% md 对应的路径没有便自己创建,路径名是 年/月/日/type

for %%i in (%dbname%) do (
set backupfile=%dir%%year%%mouth%%day%%dbType%%%i-%backup_date%.sql
"Mysql安装地址\bin\mysqldump" -h%host% -p%port% -u%user% --default-character-set-utf8 -p%password% -c --add-drop-table %%i> !backupfile! 在循环里执行备份语句

最后把他改成bat批处理文件

定时任务的创建
1、
在这里插入图片描述
2、
在这里插入图片描述
3、
在这里插入图片描述
4、
在这里插入图片描述
5、
在这里插入图片描述
6、在这里插入图片描述

O了 同理中午的任务再次创建一个,启动时间定在中午12点半。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值