mysql5.1版本開始引進Event概念。event既“時間觸發器”,與triggers的事件觸發不同,event類似與linux crontab計劃任務,用于時間觸發。通過單獨或調用存儲過程使用,在某一特定的時間點,觸發相關的SQL語句或存儲過程。
MySQL事件怎么操作?
查看事件是否開啟:
select @@event_scheduler;
show variables like ‘event_scheduler’;
show events;? show full events;show create event event_name;
show processlist;?
查看EVENT命令有如下幾種:
(1)查詢mysql.event表;
(2)通過SHOW EVENTS命令;
(3)通過SHOW FULL EVENTS命令;
(4)通過查詢information_schema.events表
(5)SHOW CREATE EVENT。
總之,event的使用頻率較低建議使用root用戶進行創建和維護。
查詢information_schema.events表
select * from information_schema.events limit 1g;
開啟mysql的事件:
set global event_scheduler = on;參數立刻生效
更改配置文件然后重啟event_scheduler=on
在my.cnf中的[mysqld]部分添加,然后重啟mysql。
通過制定事件參數啟動
mysqld … –event_scheduler=on
使用建議
1) 主庫已執行過,從庫上務保證event不會執行(除非故意在slave上創建的event)
2) 創建,刪除等操作嚴禁直接操作mysql.event表,而是通過create等正規語法實現
3) 創建的event涉及到海量數據變更的話,要做好充分測試,確保不影響現網服務
4) 如果需要備份帶有event的DB,mysqldump時需要加上–event參數