电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

帶你了解MySQL中的事件調度器EVENT

瀏覽:3日期:2023-10-13 09:46:58

MySQL中的事件調度器,EVENT,也叫定時任務,類似于Unix crontab或Windows任務調度程序。

EVENT由其名稱和所在的schema唯一標識。

EVENT根據計劃執行特定操作。操作由SQL語句組成,語句可以是BEGIN…END語句塊。EVENT可以是一次性的,也可以是重復性的。一次性EVENT只執行一次,周期性EVENT以固定的間隔重復其操作,并且可以為周期性EVENT指定開始日期和時間、結束日期和時間。(默認情況下,定期EVENT在創建后立即開始,并無限期地繼續,直到它被禁用或刪除。)

EVENT由一個特殊的事件調度器線程執行,用SHOW PROCESSLIST可以查看。

root@database-one 13:44: [gftest]> show variables like ’%scheduler%’;+-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | OFF |+-----------------+-------+1 row in set (0.01 sec)root@database-one 13:46: [gftest]> show processlist;+--------+------+----------------------+-----------+---------+------+----------+------------------+| Id | User | Host | db | Command | Time | State | Info |+--------+------+----------------------+-----------+---------+------+----------+------------------+......+--------+------+----------------------+-----------+---------+------+----------+------------------+245 rows in set (0.00 sec)root@database-one 13:46: [gftest]> set global event_scheduler=1;Query OK, 0 rows affected (0.00 sec)root@database-one 13:47: [gftest]> show variables like ’%scheduler%’;+-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | ON |+-----------------+-------+1 row in set (0.01 sec)root@database-one 13:47: [gftest]> show processlist;+--------+-----------------+----------------------+-----------+---------+------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+--------+-----------------+----------------------+-----------+---------+------+------------------------+------------------+......| 121430 | event_scheduler | localhost | NULL | Daemon | 33 | Waiting on empty queue | NULL |......+--------+-----------------+----------------------+-----------+---------+------+------------------------+------------------+246 rows in set (0.01 sec)

可以看到,默認情況下,MySQL的EVENT沒有打開,通過設置event_scheduler參數來打開或者關閉EVENT。打開后就會多一個event_scheduler,這個就是事件調度器線程。

除了打開和關閉,還可以禁用,要禁用EVENT,請使用以下兩種方法之一:

啟動MySQL時用命令行參數

--event-scheduler=DISABLED

在MySQL配置文件中配置參數

event_scheduler=DISABLED

MySQL 5.7中創建EVENT的完整語法如下:

CREATE [DEFINER = user] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT ’string’] DO event_body;schedule: AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [ENDS timestamp [+ INTERVAL interval] ...]interval: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

詳細說明可以參考官網https://dev.mysql.com/doc/refman/5.7/en/create-event.html

我們通過一個實例來驗證下。1)創建一張表。

root@database-one 13:47: [gftest]> create table testevent(id int auto_increment primary key,create_time datetime);Query OK, 0 rows affected (0.01 sec)root@database-one 13:50: [gftest]> select * from testevent;Empty set (0.00 sec)

2)創建一個EVENT,每3秒往表中插一條記錄。

root@database-one 13:50: [gftest]> create event insert_date_testevent on schedule every 3 second do -> insert into testevent(create_time) values(now());Query OK, 0 rows affected (0.01 sec)root@database-one 13:53: [gftest]> show events G*************************** 1. row *************************** Db: gftestName: insert_date_testevent Definer: root@% Time zone: +08:00Type: RECURRING Execute at: NULL Interval value: 3 Interval field: SECOND Starts: 2020-03-26 13:53:10Ends: NULL Status: ENABLED Originator: 1303306character_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci1 row in set (0.00 sec)

3)過一會,去表中查詢數據。

root@database-one 13:53: [gftest]> select * from testevent;+----+---------------------+| id | create_time |+----+---------------------+| 1 | 2020-03-26 13:53:10 || 2 | 2020-03-26 13:53:13 || 3 | 2020-03-26 13:53:16 || 4 | 2020-03-26 13:53:19 || 5 | 2020-03-26 13:53:22 || 6 | 2020-03-26 13:53:25 || 7 | 2020-03-26 13:53:28 || 8 | 2020-03-26 13:53:31 || 9 | 2020-03-26 13:53:34 || 10 | 2020-03-26 13:53:37 || 11 | 2020-03-26 13:53:40 || 12 | 2020-03-26 13:53:43 || 13 | 2020-03-26 13:53:46 || 14 | 2020-03-26 13:53:49 || 15 | 2020-03-26 13:53:52 || 16 | 2020-03-26 13:53:55 |+----+---------------------+16 rows in set (0.00 sec)

從表里數據可以看到,創建的插數定時任務已經在正常運行了。

EVENT的詳細信息除了用show event命令,還可以從mysql.event或information_schema.events中查詢,也可以用show create event命令查看。

root@database-one 00:09: [gftest]> select * from mysql.event G*************************** 1. row *************************** db: gftestname: insert_date_testeventbody: insert into testevent(create_time) values(now()) definer: root@% execute_at: NULL interval_value: 3 interval_field: SECOND created: 2020-03-26 13:53:10 modified: 2020-03-26 13:53:10 last_executed: 2020-03-26 16:09:37 starts: 2020-03-26 05:53:10ends: NULL status: ENABLED on_completion: DROP sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION comment: originator: 1303306 time_zone: +08:00character_set_client: utf8collation_connection: utf8_general_ci db_collation: utf8_general_ci body_utf8: insert into testevent(create_time) values(now())1 row in set (0.00 sec)root@database-one 00:09: [gftest]> select * from information_schema.events G*************************** 1. row *************************** EVENT_CATALOG: def EVENT_SCHEMA: gftest EVENT_NAME: insert_date_testevent DEFINER: root@% TIME_ZONE: +08:00 EVENT_BODY: SQL EVENT_DEFINITION: insert into testevent(create_time) values(now()) EVENT_TYPE: RECURRING EXECUTE_AT: NULL INTERVAL_VALUE: 3 INTERVAL_FIELD: SECOND SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION STARTS: 2020-03-26 13:53:10ENDS: NULL STATUS: ENABLED ON_COMPLETION: NOT PRESERVE CREATED: 2020-03-26 13:53:10 LAST_ALTERED: 2020-03-26 13:53:10 LAST_EXECUTED: 2020-03-27 00:10:22 EVENT_COMMENT: ORIGINATOR: 1303306CHARACTER_SET_CLIENT: utf8COLLATION_CONNECTION: utf8_general_ci DATABASE_COLLATION: utf8_general_ci1 row in set (0.02 sec)root@database-one 00:10: [gftest]> show create event insert_date_testevent G*************************** 1. row ***************************Event: insert_date_testevent sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION time_zone: +08:00 Create Event: CREATE DEFINER=`root`@`%` EVENT `insert_date_testevent` ON SCHEDULE EVERY 3 SECOND STARTS ’2020-03-26 13:53:10’ ON COMPLETION NOT PRESERVE ENABLE DO insert into testevent(create_time) values(now())character_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci1 row in set (0.00 sec)

以上就是帶你了解MySQL中的事件調度器EVENT的詳細內容,更多關于MySQL 事件調度器EVENT的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 高低温万能试验机-复合材料万能试验机-馥勒仪器 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 神马影院-实时更新秒播| 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 【黄页88网】-B2B电子商务平台,b2b平台免费发布信息网 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 浇钢砖,流钢砖_厂家价低-淄博恒森耐火材料有限公司 | 北京中创汇安科贸有限公司| 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 贵州自考_贵州自学考试网| 直流大电流电源,燃料电池检漏设备-上海政飞 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 慈溪麦田广告公司,提供慈溪广告设计。| 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 聚合氯化铝价格_聚合氯化铝厂家_pac絮凝剂-唐达净水官网 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 |