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