mysql的mysql.event和information_schema.events

清風艾艾發表於2019-03-13

    最近,有客戶反饋,他們的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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章