找到mysql安装路径D:\xxx\MYSQL\MySQL Workbench CE 6.0.8下的mysqldump.exe,由于脚本执行该程序要求路径下不能有空格(如果路径有空格则会生成0kb的备份文件),所以拷贝mysqldump.exe到任意文件夹(我这里是D:/Soft/MYSQL)
编辑保存脚本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开始的)!
将脚本back_up.bat放入windows执行计划中
控制面板->搜索计划任务->创建基本任务->跟着感觉走就能配置成功!
补充:
上面的方法在我本机上运行正常,但是在服务器上同样设置就不成功,所以我采用了navicat计划任务做了定时备份。
步骤:
打开navicat,点击备份-新建备份,什么都用不用点直接保存,起个名字后关闭对话框,对象选择是自己默认勾好了所有的表
点击计划-->新建批处理作业-->双击要选择的计划(上一步保存的计划)
保存计划(随便起个名字)-->点击要执行的任务-->设置计划任务
自己设置计划时间后保存,要求输入密码是服务器密码
成功后,定时备份会生成psc的文件,默认位置在C:\Users\电脑名\Documents\Navicat\MySQL\servers下,可以在navicat 表的备份中看到。
可以修改备份存放位置
此时用navicat提取sql,我这里会乱码。直接还原备份是正常的。
QA:脚本定时任务本机可以,服务器不可以,为森么?navicat计划任务本机不可以,服务器可以,为森么?提取sql为什么会中文乱码,utf-8、gbk编码格式也不行,为森么?
到此这篇关于Mysql5.7定时备份的实现的文章就介绍到这了,更多相关Mysql 定时备份内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!