MySQL事件的使用詳解

在系統管理或者數據庫管理中,經常要周期性的執行某一個命令或者sql語句。這個時候就會用到mysql事件,使用這個功能必須保證是mysql的版本是5.1以上。

1.首先要查看事件是否開啟了,

SHOW?VARIABLES?LIKE?'event_scheduler';  SELECT?@@event_scheduler;  SHOW?PROCESSLIST;

之星sql

MySQL事件的使用詳解

2.我們先開啟mysql事件,1,通過動態參數修改:SET GLOBAL event_scheduler = ON;注意:還是要在my.cnf中添加event_scheduler=ON。因為如果沒有添加的話,mysql重啟事件又會回到原來的狀態了。

MySQL事件的使用詳解

3.下面我創建一個測試的數據庫表,

CREATE?TABLE?`test`?(??  `ID`?int(11)?NOT?NULL?AUTO_INCREMENT,??  `lpnam`?datetime?DEFAULT?NULL,??  PRIMARY?KEY?(`id`))  ENGINE=InnoDB?  AUTO_INCREMENT=106?  DEFAULT?CHARSET=utf8

創建一個數據庫表做為測試

MySQL事件的使用詳解

4.下面我們創建mysql事件,

CREATE?EVENT?IF?NOT?EXISTS?test123?ON?SCHEDULE?EVERY?3?SECOND  ON?COMPLETION?PRESERVE  DO?INSERT?INTO?ceshisy(lpname)?VALUES(NOW());

執行sql創建mysql事件

MySQL事件的使用詳解

5.創建完成以后我們看一次是不是執行了,查看一下數據庫表

MySQL事件的使用詳解

6.總結一下語法:

DEFINER:?定義事件執行的時候檢查權限的用戶。  ON?SCHEDULE?schedule:?定義執行的時間和時間間隔。  ON?COMPLETION?[NOT]?PRESERVE:?定義事件是一次執行還是永久執行,默認為一次執行,即NOT?PRESERVE。  ENABLE?|?DISABLE?|?DISABLE?ON?SLAVE:?定義事件創建以后是開啟還是關閉,以及在從上關閉。如果是從服務器自動同步主上的創建事件的語句的話,會自動加上DISABLE?ON?SLAVE。  COMMENT?'comment':?定義事件的注釋。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享