mysql定時器的使用(小白版)
前文:寫這篇部落格之前也看了好多介紹定時器的使用的,但是感覺對於真正的小白來說還是有點複雜,
對於希望通過cv**就能使用的懶人來說,稍顯麻煩,所以寫了此篇部落格
我已經給每一步都劃分了乙個小段,大家可以直接從這裡複製,分段執行。
#檢視資料庫的event功能是否開啟 因為在資料庫中的event預設是關閉的
show variables like '%sche%'
;#如果value顯示為off或者0說明是關閉的,這時我們需要手動開啟定時器
set global event_scheduler = 1;
#建立測試表
create table test
(id int(11) not null auto_increment primary key,
time datetime not null
) engine=innodb default charset=utf8;
#這是判斷我們要執行的文字是否存在,如果存在,就刪除這個文字(本質就是我們的定時器定時執行的**塊)
delimiter //
drop procedure if exists test_proce//
#建立event要呼叫的儲存過程test_proce (其實就是建立文字/**塊。)
create procedure test_proce(
) begin
#向test表裡面新增當前時間(**塊中的執行命令 我選擇的是乙個新增,因為容易看到效果)
insert into test(time) values(now());
end//
delimiter ;
#建立事件test_event(其作用:每隔一秒自動呼叫test_proce()儲存過程)
create event test_event
#這句話是設定時間多長時間執行一次
on schedule every 1 second
on completion preserve disable
#這個是指定要執行的**塊,在上面已經定義過了
do call test_proce();
#開啟事件test_event 因為建立的事件的啟用屬性預設是關閉的,我們將他的屬性設定為開啟
#就可以使用當前定時器 test_event 是要執行的事件名字
alter event test_event on completion preserve enable
;#關閉事件,其中 test_event 是要關閉的事件名字
alter event test_event on completion preserve disable;
#查詢test表中的資料
select * from test
;
整體流程簡介:
1.開啟mysql資料庫的event功能
2.建立乙個類似於要執行的**塊。
3.建立乙個事件,這個事件中有諸多屬性,可以設定執行時間間隔以及指定執行的**塊
(執行的**塊就是上一步建立的那個)
4.因為建立的事件的執行屬性預設是關閉的,所以我們要去修改這個事件的屬性為開啟。
以上**作者已經親測過
mysql 定時器概念 MySQL定時器
mysql定時器 建立測試表 create table t v varchar 100 not null engine innodb default charset utf8 建立定時器 呼叫的儲存過程 delimiter drop procedure if exists e test create...
mysql 定時器概念 Mysql 定時器
定時任務 週期任務 檢視命令 show variables like event sche 顯示的event scheduler為off時用以下命令開啟 set global event scheduler 1 注意 以上的改法在資料庫重啟後將會恢復為原來狀態,要想資料庫重啟後也可以讓event s...
mysql 定時器概念 MySQL 定時器
mysql定時器是系統給提供了event,而oracle裡面的定時器是系統給提供的job。廢話少說,下面建立表 create table mytable id int auto increment not null,name varchar 100 not null default introduc...