mysql如何查看定時器有沒有執(zhí)行
按需網(wǎng)站開發(fā)可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站建設(shè)、成都網(wǎng)站制作構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站建設(shè)、成都網(wǎng)站制作的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義
1.查看是否開啟evevt與開啟evevt。
1.1、MySQL evevt功能默認(rèn)是關(guān)閉的,可以使用下面的語句來看evevt的狀態(tài),如果是OFF或者0,表示是關(guān)閉的。
show VARIABLES LIKE '%sche%';
1.2、開啟evevt功能
SET GLOBAL event_scheduler = 1;
2.創(chuàng)建定時器的過程
2.1、創(chuàng)建測試表test
drop table if exists test;
create table test
(
id int(11) not null auto_increment primary key,
time datetime not null
) engine=innodb default charset=utf8;
2.2、創(chuàng)建evevt要調(diào)用的存儲過程test_proce
delimiter //
drop procedure if exists test_proce//
create procedure test_proce()
begin
insert into test(time) values(now());
end//
delimiter ;
2.3、開啟evevt(要使定時起作用,MySQL的常量GLOBAL event_scheduler必須為on或者是1)
執(zhí)行show variables like 'event_scheduler';查看evevt是否開啟;
若沒開啟執(zhí)行set global event_scheduler='on';
2.4、創(chuàng)建事件test_event(其作用:每隔一秒自動調(diào)用test_proce()存儲過程)
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
2.5、開啟事件test_event
mysql要實現(xiàn)定時執(zhí)行sql語句就要用到Event
具體操作如下:
先看看看event 事件是否開啟
show variables like '%sche%';
如沒開啟,則開啟。需要數(shù)據(jù)庫超級權(quán)限
set global event_scheduler =1;
創(chuàng)建存儲過程 update_a (注:就是你要執(zhí)行的sql語句)
mysql create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id);
創(chuàng)建一個定時任務(wù):event e_updateA
mysql create event if not exists e_updateA
- on schedule every 60 second ---設(shè)置60秒執(zhí)行一次
- on schedule at date_add(now(),interval 1 minute) ---在一分鐘后執(zhí)行
- on completion preserve
- do call update_a(); ---執(zhí)行update_a()存儲過程
創(chuàng)建Event之后,sql語句就定時執(zhí)行一次。
關(guān)閉事件任務(wù)
CREATE EVENT [事件名]
ON SCHEDULE EVERY 7 WEEK STARTS
'2014-05-14 04:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
[要執(zhí)行的sql語句]
首先在sql中查詢計劃事件的狀態(tài):SHOW
VARIABLES
LIKE
'event_scheduler'
如果返回的是off表示當(dāng)前是關(guān)閉狀態(tài),如果是on當(dāng)前已經(jīng)開啟了計劃任務(wù)。
在mysql程序的目錄下找到my.ini文件,添加一個項:event_scheduler
=
1
保存后重啟mysql服務(wù)即可,重啟服務(wù)可以在服務(wù)管理里面找到
也可以用腳本來實現(xiàn):
mysql
event_scheduler
開啟event_scheduler
sql指令:
SET
GLOBAL
event_scheduler
=
ON;
SET
@@global.event_scheduler
=
ON;
SET
GLOBAL
event_scheduler
=
1;
SET
@@global.event_scheduler
=
1;
相反,關(guān)閉event_scheduler指令:
SET
GLOBAL
event_scheduler
=
OFF;
SET
@@global.event_scheduler
=
OFF;
SET
GLOBAL
event_scheduler
=
0;
SET
@@global.event_scheduler
=
0;
事件調(diào)度器是在 MySQL 5.1 中新增的另一個特色功能,可以作為定時任務(wù)調(diào)度器,取代部分原先只能用操作系統(tǒng)任務(wù)調(diào)度器才能完成的定時功能。例如,Linux 中的 crontabe 只能精確到每分鐘執(zhí)行一次,而 MySQL 的事件調(diào)度器則可以實現(xiàn)每秒鐘執(zhí)行一個任務(wù),這在一些對實時性要求較高的環(huán)境下就非常實用了。
在我們?nèi)粘I钪信紶枙龅揭恍┳约翰恢廊绾谓鉀Q的問題,比如使用安裝好的mysql。那么我們應(yīng)該怎樣解決這種自己不知道如何使用安裝好的mysql的情況呢?那么接下來就由我來介紹一下使用安裝好的mysql的步驟吧。
本次操作以Dell電腦為例,具體操作步驟如下:
第一步:
首先,打開MySQLWorkbench,雙擊打開即可。打開后的界面如下所示,然后選擇數(shù)據(jù)庫實例,雙擊進(jìn)行登錄。圖中數(shù)據(jù)庫的實例是LocalinstanceMYSQL57
第二步:
然后,輸入用戶名和密碼進(jìn)行登錄。如下圖所示:
第三步:
登錄成功后,界面如下所示。其中,區(qū)域1顯示的是數(shù)據(jù)庫服務(wù)器中已經(jīng)創(chuàng)建的數(shù)據(jù)庫列表。區(qū)域2是關(guān)于數(shù)據(jù)庫的操作列表。區(qū)域三是sql的編輯器和執(zhí)行環(huán)境,區(qū)域4是執(zhí)行結(jié)果的列表
第四步:
在sql的編輯器中輸入測試語句,如圖所示,其中world數(shù)據(jù)庫是mysql自帶的測試數(shù)據(jù)庫,然后選擇執(zhí)行(或者使用快捷鍵ctrl+enter)。執(zhí)行成功后,查詢結(jié)果會顯示在下面的列表中。
第五步:
使用完畢后,直接退出,并且如果無需數(shù)據(jù)庫的后繼操作的話,記得關(guān)掉MySQL的服務(wù)
看了我的方法,現(xiàn)在你學(xué)會如何使用安裝好的mysql了嗎?學(xué)會了的話就快快把這個方法分享出去,讓更多的人知道如何使用安裝好的mysql。以上就是使用安裝好的mysql的步驟。
本文章基于Dell品牌、Windows10系統(tǒng)撰寫的。
網(wǎng)頁標(biāo)題:mysql事件怎么用,mysql觸發(fā)
當(dāng)前URL:http://www.muchs.cn/article28/hcpjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、、網(wǎng)站設(shè)計公司、虛擬主機、做網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)