好的开始是从吃早饭开始的

Navicat for MySQL 设置定时任务
发表于2018-04-27 09:19:15 | 分类:技术 | 阅读:111

之前做过的投票项目需要限制用户每天可以投的票数,所以需要每天定时修改数据表的字段。记录一下怎么利用Navicat for MySQL 来设置定时任务。


以往某个表中定时添加数据为例:


1.新建一个表:test。


1.png


2.新建一个例程类型为过程函数,插入MySQL语句,并保存过程名:addNum。


2.png


3.新建事件,定义内输入 call addNum()(即第二步中的函数名);在计划内设置事件执行事件,保存即可。


3.png

4.png


测试中的问题:


1.出现提示错误:mysql Table 'performance_schema.session_variables' doesn't exist


第1步:使用命令,进入mysql下的bin文件夹,输入 mysql_upgrade -u -root -p --force; 输入mysql密码;等待几秒完成系统表结构的完善。

第2步:重启mysql服务:net stop mysql和net start mysql。


2.报错:‘事件计划已关闭。事件只能在服务器启动并开启事件计划时才能处理。’


第1步:使用命令,进入mysql控制台:mysql -u root -p123456。(123456就是mysql密码,因人而异,紧贴-p之后)

第2步:输入show variables like 'event_scheduler'; 查看事件是否开启,一般没有,再输入set global event_scheduler = on; 这个过程不需要重启mysql服务。


//永久开启事件


用记事本形式打开my.ini文件,在[mysqld]下添加 event_scheduler=ON ,保存并重启mysql服务。



3.报错:Error Code: 1290. The MySQL server is running with the –event-scheduler=DISABLED or –skip-grant-tables option so it cannot execute this statement 


skip-grant-tables是跳过验证密码,直接登录Mysql时用的。开启时,event_scheduler无法正常运行,将my.ini里的skip-grant-tables去掉,给mysql设置密码,具体操作看博客内另一篇文章《MySQL重置密码问题解决》。


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
点击此处,取消分享
*以下内容皆为必填项目

0条评论

暂无评论
TOP