最近,有客户反馈,他们的mysql中设置的事件调度即JOB执行时间与创建时定义的时间不一致。
简单说就是:JOB定义中的starts与mysql.event中的last_executed中的时间不一致,如下图。
mysql定义中的job开始时间是每天的凌晨
mysql.event中显示的job执行时间为每天下午16:00
其实,这个问题与数据库服务器所在时区有关系,mysql.event中记录的是job的全球标准时间,问题数据库服务器
的时区是东八区,所以mysql.event记录的应该每天凌晨执行的,却是前天的下午16:00。但是,这不是mysql的bug,
也不是记录不准确,而是,另外有一个视图记录的是以本地服务器时间为准的event执行记录,
就是information_schema.events。
如图所示, information_schema.events中记录的job执行时间是本地时区对应的当前时间,是准确的。
另外,Mysql的event执行异常记录,比如权限或者表不存在的event记录会在mysql的err报错日志中记录:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29357786/viewspace-2638299/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29357786/viewspace-2638299/