Mysql5.7定时备份的实现
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编码格式也不行,为森么?
上一篇:MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧)
栏 目:Mysql
下一篇:MySQL取出随机数据
本文标题:Mysql5.7定时备份的实现
本文地址:http://www.codeinn.net/misctech/151810.html