mysql event 学习
mysql 通過事件可以實(shí)現(xiàn)定時(shí)任務(wù) :
1、 檢查你的MYSQL是否開了這個(gè)功能
show variables like "%scheduler" //注意 最后是er
2、??打開你的MYSQL的計(jì)劃任務(wù)功能
使用這個(gè)功能之前必須確保event_scheduler已開啟,可執(zhí)行
SET GLOBAL event_scheduler = 1;
或SET GLOBAL event_scheduler = ON;
來開啟,也可以直接在啟動(dòng)命令加上?“–event_scheduler=1”,例如:mysqld ... --event_scheduler=1
?
my.ini or my.cnf?中的
?
[mysqld]
添加?event_scheduler=ON
?
?二、事件基本操作
【刪除事件】:
DROP?EVENT?[IF?EXISTS]?event_name?
【關(guān)閉事件】
ALTER?EVENT?event_name?ON ?COMPLETION?PRESERVE?DISABLE; ?
【關(guān)閉事件】
ALTER?EVENT?event_name?ON ?COMPLETION?PRESERVE?ENABLE; ?
?
三、試驗(yàn)?
1) 每一秒插入一條數(shù)據(jù)到數(shù)據(jù)庫里面
use test;
CREATE TABLE `aaa` (
`timeline` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
?
查看有哪些事件?
查看該event創(chuàng)建的詳情?
查看事件執(zhí)行效果
?
2) 一段時(shí)間后執(zhí)行
15秒后清空表aaa
每天定時(shí)清空test表:
CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
DO TRUNCATE TABLE test.aaa;
當(dāng)前時(shí)間起 過15秒后 每一秒插入一條數(shù)據(jù)到數(shù)據(jù)庫
truncate table aaa;
drop EVENT if EXISTS d;
drop EVENT if EXISTS a;
CREATE EVENT a ON SCHEDULE
every 1 SECOND
STARTS CURRENT_TIMESTAMP + INTERVAL 15 SECOND
DO INSERT into aaa values(now());
show events;
show variables like "%scheduler";
?
定時(shí)插入一條數(shù)據(jù),十五秒后停止
truncate table aaa;
drop EVENT if EXISTS a;
CREATE EVENT a ON SCHEDULE
EVERY 1 second
ENDS CURRENT_TIMESTAMP + INTERVAL 15 SECOND
COMMENT "test"
DO INSERT into aaa values(now());
show events;
show variables like "%scheduler";
?
總結(jié)
以上是生活随笔為你收集整理的mysql event 学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chisel_LLDB调试命令
- 下一篇: 文字收缩下面半透明效果