数据库 
首页 > 数据库 > 浏览文章

Mysql5.7定时备份的实现

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )

1、找到mysql安装路径D:\xxx\MYSQL\MySQL Workbench CE 6.0.8下的mysqldump.exe,由于脚本执行该程序要求路径下不能有空格(如果路径有空格则会生成0kb的备份文件),所以拷贝mysqldump.exe到任意文件夹(我这里是D:/Soft/MYSQL)

2、编辑保存脚本back_up.bat如下:

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:/Soft/MYSQL/mysqldump --opt -u root --password=991446 lslib_test> D:/db_backup/lslib_test_%Ymd%.sql
@echo on

说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。

通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)!

2、将脚本back_up.bat放入windows执行计划中

控制面板->搜索计划任务->创建基本任务->跟着感觉走就能配置成功!

Mysql5.7定时备份的实现

补充:

上面的方法在我本机上运行正常,但是在服务器上同样设置就不成功,所以我采用了navicat计划任务做了定时备份。

步骤:

1、打开navicat,点击备份-新建备份,什么都用不用点直接保存,起个名字后关闭对话框,对象选择是自己默认勾好了所有的表

Mysql5.7定时备份的实现

2、点击计划-->新建批处理作业-->双击要选择的计划(上一步保存的计划)

3、保存计划(随便起个名字)-->点击要执行的任务-->设置计划任务

4、自己设置计划时间后保存,要求输入密码是服务器密码

5、成功后,定时备份会生成psc的文件,默认位置在C:\Users\电脑名\Documents\Navicat\MySQL\servers下,可以在navicat 表的备份中看到。

6、可以修改备份存放位置

Mysql5.7定时备份的实现

此时用navicat提取sql,我这里会乱码。直接还原备份是正常的。

QA:脚本定时任务本机可以,服务器不可以,为森么?navicat计划任务本机不可以,服务器可以,为森么?提取sql为什么会中文乱码,utf-8、gbk编码格式也不行,为森么?

上一篇:浅谈MySQL大表优化方案
下一篇:MySQL慢查询相关参数原理解析