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

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

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

16、Event事件(定时任务)是什么?

發(fā)布時(shí)間:2025/3/20 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16、Event事件(定时任务)是什么? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在數(shù)據(jù)庫(kù)管理中,經(jīng)常要周期性的執(zhí)行某一命令或 SQL 語(yǔ)句,于是 MySQL 5.1 版本以后就提供了事件,它可以很方便的實(shí)現(xiàn) MySQL 數(shù)據(jù)庫(kù)的計(jì)劃任務(wù),定期運(yùn)行指定命令,使用起來(lái)非常簡(jiǎn)單方便。

**事件(Event)**也可稱為事件調(diào)度器(Event Scheduler),是用來(lái)執(zhí)行定時(shí)任務(wù)的一組 SQL 集合,可以通俗理解成 MySQL 中的定時(shí)器。一個(gè)事件可調(diào)用一次,也可周期性的啟動(dòng)。

事件可以作為定時(shí)任務(wù)調(diào)度器,取代部分原來(lái)只能用操作系統(tǒng)的計(jì)劃任務(wù)才能執(zhí)行的工作。另外,更值得一提的是,MySQL 的事件可以實(shí)現(xiàn)每秒鐘執(zhí)行一個(gè)任務(wù),非常適合對(duì)實(shí)時(shí)性要求較高的環(huán)境,而操作系統(tǒng)的計(jì)劃任務(wù)只能精確到每分鐘一次。

事件和觸發(fā)器類似,都是在某些事情發(fā)生時(shí)啟動(dòng)。當(dāng)數(shù)據(jù)庫(kù)啟動(dòng)一條語(yǔ)句的時(shí)候,觸發(fā)器就啟動(dòng)了,而事件是根據(jù)調(diào)度事件來(lái)啟動(dòng)的。由于他們彼此相似,所以事件也稱為臨時(shí)性觸發(fā)器。

查看事件是否開啟

在 MySQL 中,調(diào)度器 event_scheduler 負(fù)責(zé)調(diào)用事件。我們可以通過(guò)以下幾種命令查看事件是否開啟,一般情況下默認(rèn)值為 OFF。SQL 命令和運(yùn)行結(jié)果如下:

mysql> SHOW VARIABLES LIKE 'event_scheduler'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | OFF | +-----------------+-------+ 1 row in set, 1 warning (0.02 sec)mysql> SELECT @@event_scheduler; +-------------------+ | @@event_scheduler | +-------------------+ | OFF | +-------------------+ mysql> SHOW PROCESSLIST; +----+------+-----------------+------+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------------+------+---------+------+----------+------------------+ | 2 | root | localhost:56279 | NULL | Query | 0 | starting | SHOW PROCESSLIST | +----+------+-----------------+------+---------+------+----------+------------------+

從結(jié)果可以看出,事件沒有開啟。因?yàn)閰?shù) event_scheduler 的值為 OFF,并且在 PROCESSLIST 中查看不到 event_scheduler 的信息。如果參數(shù) event_scheduler 的值為 ON,或者在 PROCESSLIST 中顯示了 event_scheduler 的信息,則說(shuō)明事件已經(jīng)開啟。

開啟事件

開啟事件主要通過(guò)以下兩種方式實(shí)現(xiàn)。

1)通過(guò)設(shè)置全局參數(shù)修改
可以使用 SET GLOBAL 命令設(shè)定全局變量 event_scheduler 的值,開啟或關(guān)閉事件。將 event_scheduler 參數(shù)的值設(shè)置為 ON,表示開啟事件;設(shè)置為 OFF,則關(guān)閉事件。

例如,要開啟事件可以在命令行窗口中輸入以下命令。

mysql> SET GLOBAL event_scheduler = ON ; mysql> SHOW VARIABLES LIKE 'event_scheduler'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+ 1 row in set, 1 warning (0.01 sec)

結(jié)果顯示,event_scheduler 的值為 ON,表示事件已經(jīng)開啟。

通過(guò) SET GLOBAL 命令開啟或關(guān)閉事件,MySQL 重啟服務(wù)后事件又會(huì)回到原來(lái)的狀態(tài),如果想要始終開啟或關(guān)閉事件,可以修改 MySQL 配置文件。

2)更改配置文件
在 MySQL 配置文件中找到 [mysqld] 選項(xiàng),然后在下面添加以下代碼開啟事件。

event_scheduler = ON

在配置文件中添加代碼并保存文件后,重啟 MySQL 服務(wù)才能生效。

通過(guò)該方法開啟或關(guān)閉事件,重啟 MySQL 服務(wù)后,不會(huì)回到原來(lái)的狀態(tài)。例如,此時(shí)重啟 MySQL 服務(wù)器,然后查看事件是否開啟。

mysql> SHOW VARIABLES LIKE 'event_scheduler'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+

結(jié)果顯示,參數(shù) event_scheduler 的值為 ON,表示已經(jīng)開啟。

總結(jié)

以上是生活随笔為你收集整理的16、Event事件(定时任务)是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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