mysql的mysql.event和information_schema.events

    最近,有客户反馈,他们的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报错日志中记录:

请使用浏览器的分享功能分享到微信等