MySQL定時(shí)任務(wù)EVENT事件的使用方法
一、查看定時(shí)策略是否開啟
show variables like '%event_scheduler%';

* on這里是啟用的
查看進(jìn)程:會看到一個(gè)用戶為event_scheduler,執(zhí)行狀態(tài)為Waiting on empty queue的進(jìn)程
show PROCESSLIST;

開啟定時(shí)策略:
set global event_scheduler = 1;
關(guān)閉定時(shí)策略:
set global event_scheduler = 0;
在my.cnf配置文件中開啟事件(永久開啟,設(shè)置后需要重啟MySQL才會生效)
配置文件的[mysqld]部分加上event_scheduler=ON

二、創(chuàng)建定時(shí)任務(wù)
-- 創(chuàng)建定時(shí)任務(wù) create EVENT sync_lastday_attendance ON SCHEDULE EVERY '1' DAY STARTS '2021-09-19 05:00:00' DO call sync_lastday_attendance()
解釋:
1、create event sync_lastday_attendance:是創(chuàng)建名為sync_lastday_attendance的事件
2、EVERY '1' DAY 創(chuàng)建周期定時(shí)的規(guī)則,意思是每天執(zhí)行一次
3、STARTS '2021-09-19 05:00:00'表示在具體某個(gè)時(shí)間執(zhí)行,是2021-09-19凌晨5點(diǎn)整開始執(zhí)行
3、可選 on completion preserve disable是表示創(chuàng)建后并不開始生效。
4、do call sync_lastday_attendance()是該event(事件)的操作內(nèi)容,這里是調(diào)用名為sync_lastday_attendance()的存儲過程
三、定時(shí)任務(wù)操作
查看所有定時(shí)任務(wù)
SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;
查看指定定時(shí)任務(wù)創(chuàng)建詳細(xì)
show create EVENT sync_lastday_attendance;

修改任務(wù)
-- 創(chuàng)建定時(shí)任務(wù) 8點(diǎn)執(zhí)行 調(diào)用test()存儲過程 ALTER EVENT sync_lastday_attendance ON SCHEDULE EVERY '1' DAY STARTS '2021-09-19 08:00:00' DO call test()
開啟定時(shí)任務(wù)
alter event sync_lastday_attendance on completion preserve enable;//開啟定時(shí)任務(wù)
關(guān)閉定時(shí)任務(wù)
alter event sync_lastday_attendance on completion preserve disable;//關(guān)閉定時(shí)任務(wù)
刪除定時(shí)任務(wù)
drop event sync_lastday_attendance; //刪除定時(shí)任務(wù)
四、定時(shí)規(guī)則
1、周期執(zhí)行(EVERY)
參數(shù)單位有:second、minute、hour、day、week(周)、quarter(季度)、month、year
on schedule every 1 week //每周執(zhí)行1次 on schedule every 1 day //每天執(zhí)行1次
2、在具體某個(gè)時(shí)間執(zhí)行(AT)
on schedule at current_timestamp()+interval 5 day //5天后執(zhí)行 on schedule at '2021-09-19 05:00:00' //在2021年9月19日,5點(diǎn)整執(zhí)行
3、在某個(gè)時(shí)間段執(zhí)行(STARTS ENDS)
on schedule every 1 day starts current_timestamp()+interval 3 day ends current_timestamp()+interval 1 month //3天后開始每天都執(zhí)行一次到下個(gè)月底結(jié)束 on schedule every 1 day ends current_timestamp()+interval 3 day //從現(xiàn)在起每天執(zhí)行,執(zhí)行3天
到此這篇關(guān)于MySQL定時(shí)任務(wù)EVENT事件的使用方法的文章就介紹到這了,更多相關(guān)MySQL定時(shí)任務(wù)EVENT事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL 使用事件(Events)完成計(jì)劃任務(wù)
- MySQL定時(shí)任務(wù)(EVENT事件)如何配置詳解
- mysql定時(shí)任務(wù)(event事件)實(shí)現(xiàn)詳解
- MySQL數(shù)據(jù)庫Event定時(shí)執(zhí)行任務(wù)詳解
- 淺談MySQL event 計(jì)劃任務(wù)
- 詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時(shí)任務(wù)
- MySQL定時(shí)器EVENT學(xué)習(xí)筆記
- mysql中event的用法詳解
- MySQL查看event執(zhí)行記錄的實(shí)現(xiàn)
相關(guān)文章
一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實(shí)例詳解
這篇文章主要介紹了mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03
MySQL中根據(jù)binlog日志進(jìn)行恢復(fù)的實(shí)現(xiàn)
MySQL的binlog功能為數(shù)據(jù)庫的恢復(fù)和故障排查提供了有力支持,本文主要介紹了MySQL中根據(jù)binlog日志進(jìn)行恢復(fù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04

