mysql依靠windows实现自动备份数据

转载:https://blog.csdn.net/weixin_27032989/article/details/113658580

首先明白命令方式执行备份与还原
这是我本机的数据库
-h后面是本机地址127.0.0.1
-p是端口3306
-u是用户名root
-p是密码root
-add-drop-table是增加表是否存在的判断
flow是我的数据库名称

D:\flow.sql是备份的文件(注:这里如果有文件夹需要提前创建好)
备份:mysqldump -h127.0.0.1 -p3306 -uroot -proot --add-drop-table flow >D:\flow.slq
还原:mysql -h127.0.0.1 -p3306 -uroot -proot flowbaktest < D:\flow.slq
文件导入还原:
导入数据
mysql -h127.0.0.1 -p3306 -uroot -proot 回车
use flowbaktest 回车
set charset utf8;
source D:\flow.slq;

在这种方式导出后sql文件会变大,导致导入失败
show global variables like ‘max_allowed_packet’; mysql 5.7 默认是4MB
可修改为最大1GB可解决
set global max_allowed_packet =1073741824

1.创建自动批处理文件备份文件
@echo off
set hour=%time:~0,2%

if “%time:~0,1%”==" " set hour=0%time:~1,1%

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

echo %now%

set host=127.0.0.1

set port=3306

set user=root

set pass=root

set dbname=flow

set backupfile=D:\mysqlbak%dbname%-%now%.sql

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

echo delete files before 10 days

forfiles /p D:\mysqlCopy /s /m *.sql /d -10 /c “cmd /c del @file”

set hour=%time:~0,2%

if “%time:~0,1%”==" " set hour=0%time:~1,1%

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

用记事本打开写入上面代码保存为.bat 文件
2.创建windows定时任务
windows+R输入compmgmt.msc打开计算机管理,如图:
在这里插入图片描述

根据自己的需求设置触发器

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值