今天应领导要求,将mysql数据库中的一个数据库做定时备份导出。本来很简单的一个需求,但是到了我这就出了一个大坑。目前是已经解决,但是不知道途径是否正确,在此贴出来跟大家分享一下。有知道的大佬麻烦给小弟指教一下,万分感谢。(使用工具为navicat,不通过可视化界面软件操作mysql数据库进行备份操作我还没试暂时不讨论,望理解 = = )
第一步
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
第二步
现在左边选择你要备份的数据库,然后在右侧双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
第三步
点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”。
第四步
点击“设置”计划任务。
第五步
这里设置为从2017年12月4号起每天早上九点备份该数据库。如果你想提高备份频率、或者设置备份截止日期,请点击“高级”。
第六步
最后,输入电脑密码就大功告成(如果有密码的话)。
以上步骤皆来自[使用Navicat进行数据库自动备份]这位老哥(https://www.cnblogs.com/hkgov/p/7978609.html)
第七步
按理来说前面六步结束之后,就可以关掉navicat抽个烟冷静一下等着备份结果出来了。 😃 然而。。。。然而。。。。然而。。。。重要的事说三遍。让我崩溃的事发生了,在我“漫长”的等待之后。发现我的定时任务没反应啊!!!!(不管是navicat是否被关闭都没有执行) 如图:
第八步
于是我又尝试了一下一下两种方式:
第一种
查看定时任务的是否开启
show variables like ‘%sche%’;
如果’event_scheduler’为OFF或0
通过执行下列语句, 来开启event_scheduler, 把设置为设为ON 或 1
set global event_scheduler =1
第二种
查看事件, 看事件状态是否为ENABLE
show events;
如果为DISABLE, 执行下列语句, 开启事件
ALTER EVENT event_name ON COMPLETION PRESERVE ENABLE;
但还是不行
第九步
最终我的解决方式是:
直接双击该任务也可以进入属性页面
我是改了上面两个红框里面的属性,选择了wins10 然后他就可以了,我也没不知道啥原理这是= = 。
然后他就可以运行了,但是比较麻烦的是像下图这样改完之后
首先navicat里面可以看到之前的定时图标消失了,也就意味着这个任务貌似已经不再是navicat之前那个了。
最后我手动删除了C:\Windows\System32\Tasks 路径下的111文件和下图里面的111才把这个任务删除掉
我也不明白是为啥,但是总算可以用。有知道的大佬麻烦指教一下,不胜感激!! :)
当然也可能是我在过程中出了点问题
—end—