日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql保持开启事件调度器_MySQL 5.1.6开始的事件调度器

發(fā)布時(shí)間:2023/12/19 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql保持开启事件调度器_MySQL 5.1.6开始的事件调度器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

創(chuàng)建事件(CREATE EVENT)

先來(lái)看一下它的語(yǔ)法:CREATE EVENT [IF NOT EXISTS] event_name

ON SCHEDULE schedule

[ON COMPLETION [NOT] PRESERVE]

[ENABLE | DISABLE]

[COMMENT 'comment']

DO sql_statement;

schedule:

AT TIMESTAMP [+ INTERVAL INTERVAL]

| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

INTERVAL:

quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |

DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

1) 首先來(lái)看一個(gè)簡(jiǎn)單的例子來(lái)演示每秒插入一條記錄到數(shù)據(jù)表USE test;

CREATE TABLE aaa (timeline TIMESTAMP);

CREATE EVENT e_test_insert

ON SCHEDULE EVERY 1 SECOND

DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);

等待3秒鐘后,再執(zhí)行查詢看看:mysql> SELECT * FROM aaa;

+---------------------+

| timeline ? ? ? ? ? ?|

+---------------------+

| 2007-07-18 20:44:26 |

| 2007-07-18 20:44:27 |

| 2007-07-18 20:44:28 |

+---------------------+

2) 5天后清空test表:

CREATE EVENT e_test

ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY

DO TRUNCATE TABLE test.aaa;

3) 2007年7月20日12點(diǎn)整清空test表:

CREATE EVENT e_test

ON SCHEDULE AT TIMESTAMP '2007-07-20 12:00:00'

DO TRUNCATE TABLE test.aaa;

4) 每天定時(shí)清空test表:

CREATE EVENT e_test

ON SCHEDULE EVERY 1 DAY

DO TRUNCATE TABLE test.aaa;

5) 5天后開(kāi)啟每天定時(shí)清空test表:

CREATE EVENT e_test

ON SCHEDULE EVERY 1 DAY

STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY

DO TRUNCATE TABLE test.aaa;

6) 每天定時(shí)清空test表,5天后停止執(zhí)行:

CREATE EVENT e_test

ON SCHEDULE EVERY 1 DAY

ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY

DO TRUNCATE TABLE test.aaa;

7) 5天后開(kāi)啟每天定時(shí)清空test表,一個(gè)月后停止執(zhí)行:

CREATE EVENT e_test

ON SCHEDULE EVERY 1 DAY

STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY

ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH

DO TRUNCATE TABLE test.aaa;

[ON COMPLETION [NOT] PRESERVE]可以設(shè)置這個(gè)事件是執(zhí)行一次還是持久執(zhí)行,默認(rèn)為NOT PRESERVE。

8) 每天定時(shí)清空test表(只執(zhí)行一次,任務(wù)完成后就終止該事件):

CREATE EVENT e_test

ON SCHEDULE EVERY 1 DAY

ON COMPLETION NOT PRESERVE

DO TRUNCATE TABLE test.aaa;

[ENABLE | DISABLE]可是設(shè)置該事件創(chuàng)建后狀態(tài)是否開(kāi)啟或關(guān)閉,默認(rèn)為ENABLE。

[COMMENT ‘comment’]可以給該事件加上注釋。

三、修改事件(ALTER EVENT)

ALTER EVENT event_name

[ON SCHEDULE schedule]

[RENAME TO new_event_name]

[ON COMPLETION [NOT] PRESERVE]

[COMMENT 'comment']

[ENABLE | DISABLE]

[DO sql_statement]

1) 臨時(shí)關(guān)閉事件ALTER EVENT e_test DISABLE;

2) 開(kāi)啟事件ALTER EVENT e_test ENABLE;

3) 將每天清空test表改為5天清空一次:ALTER EVENT e_test

ON SCHEDULE EVERY 5 DAY;

四、刪除事件(DROP EVENT)

語(yǔ)法很簡(jiǎn)單,如下所示:DROP EVENT [IF EXISTS] event_name

例如刪除前面創(chuàng)建的e_test事件DROP EVENT e_test;

當(dāng)然前提是這個(gè)事件存在,否則會(huì)產(chǎn)生ERROR 1513 (HY000): Unknown event錯(cuò)誤,因此最好加上IF EXISTS

DROP EVENT IF EXISTS e_test;

附:如需規(guī)定每天幾點(diǎn)執(zhí)行mysql 請(qǐng)見(jiàn)下例

CREATE EVENT myevent

-> ON SCHEDULE EVERY 1 DAY STARTS '2009-10-24 02:00:00'

-> DO

-> delete from t where ptime

五、查詢事件(SHOW EVENTS)

'gooder', 'tt', 'root@localhost', 'SYSTEM', 'RECURRING', '', '1', 'SECOND', '2011-09-23 16:31:26', '', 'ENABLED', 0, 'utf8', 'utf8_general_ci', 'gbk_chinese_ci'

/*創(chuàng)建定時(shí)處理的事件--用戶每天將gps上報(bào)數(shù)據(jù) 通過(guò)存儲(chǔ)過(guò)程autogpsinfo_TurnStore 記錄到相應(yīng)的數(shù)據(jù)表*/

CREATE event gpsinfo_TurnStore

ON SCHEDULE EVERY 1 DAY STARTS '2011-01-10 04:00:00'

DO

CALL autogpsinfo_TurnStore;

還有個(gè)地方需要注意的,如果是第一次用的話,可能出現(xiàn)不執(zhí)行的情況,不是代碼寫(xiě)錯(cuò)了。是因?yàn)樾枰却蜷_(kāi)事件調(diào)度器

/*使用系統(tǒng)變量event_scheduler來(lái)打開(kāi)事件調(diào)度器,true為打開(kāi),false為關(guān)閉*/

SET GLOBAL event_scheduler=TRUE

執(zhí)行了這句代碼之后就OK了

總結(jié)

以上是生活随笔為你收集整理的mysql保持开启事件调度器_MySQL 5.1.6开始的事件调度器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。