mysql實現定時執行sql語句--驗證通過


https://blog.csdn.net/wq1039822486/article/details/79637168

----------------------------------------------------自己寫的;

CREATE PROCEDURE flush_hosts_task() flush hosts;

create event if not exists e_flush
on schedule every 60 second
on completion preserve
do call flush_hosts_task();

alter event e_flush ON

COMPLETION PRESERVE ENABLE;

------------------------------------------------------------------

mysql實現定時執行SQL語句需要用到Event

1.檢查event事件是否開啟
show variables like '%sche%';

 

1)如果Value值為OFF,則需要開啟。需要超級權限

set global event_scheduler=1;

2.創建存儲過程
CREATE PROCEDURE insert_monitor () INSERT INTO `equipment_information` (
device_id,
device_name,
temperature,
humidity,
electric_current,
voltage,
date_time
)
VALUES
(
1,
'主機',
FLOOR(20 +(RAND() * 26)),
FLOOR(1 +(RAND() * 100)),
FLOOR(1 +(RAND() * 10)),
FLOOR(1 +(RAND() * 10)),
SYSDATE()
);
3.創建定時任務
create event if not exists e_monitor
on schedule every 5 second --設置5秒執行一次
on completion preserve

do call insert_monitor(); --執行insert_monitor()存儲過程

4.關閉事件任務
alter event e_monitor ON

COMPLETION PRESERVE DISABLE;

5.開啟事件任務
alter event e_monitor ON

COMPLETION PRESERVE ENABLE;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM