Mysql 檢視定時器 開啟定時器 設定定時器時間

2022-07-03 19:39:18 字數 2691 閱讀 1880

1 1.檢視是否開啟evevt與開啟evevt。

23 1.1、mysql evevt功能預設是關閉的,可以使用下面的語句來看evevt的狀態,如果是off或者0,表示是關閉的。

4 show variables like '%sche%';

5 1.2、開啟evevt功能

6 set global event_scheduler = 1;

7 2.建立定時器的過程

8 2.1、建立測試表test

9 drop table if

exists test;

10create table test11(

12 id int(11) not null

auto_increment primary key,

13 time datetime not null

14 ) engine=innodb default charset=utf8;

15 2.2、建立evevt要呼叫的儲存過程test_proce

16 delimiter //

17 drop procedure if exists test_proce//

18create procedure test_proce()

19begin

20insert into test(time) values(now());

21 end//

22delimiter ;

23 2.3、開啟evevt(要使定時起作用,mysql的常量global event_scheduler必須為on或者是1)

24 執行show variables like 'event_scheduler';檢視evevt是否開啟;

25 若沒開啟執行set global event_scheduler='on';

26 2.4、建立事件test_event(其作用:每隔一秒自動呼叫test_proce()儲存過程)

27 drop event if

exists test_event;

28create event test_event

29 on schedule every 1second

30on completion preserve disable

31do

call test_proce();

32 2.5、開啟事件test_event

33alter event test_event on completion preserve enable;

34 2.6、關閉事件test_event

35alter event test_event on completion preserve disable;

36 2.7、檢視表test

37 select *from test;

3839 3.檢視自己建立的event

40如果要檢視更加詳細的資訊,你需要root使用者的授權,如果是你自己的資料庫你可以用下面語句檢視

41 select *from mysql.event;

42下面的我的evevt的檢視結果

43mysql建立定時器(event),檢視定時器,開啟定時器,設定定時器時間

4445 4.event的時間設定

46設定event很簡單,但是麻煩的是如何設定執行的時間,網上找了一些,自己總結了一下。

47先看語句,如下面這個

48 create event test_event on schedule every 1 day starts '2012-09-24 00:00:00'

49on completion preserve enable do call test_procedure();

50 every 後面的是時間間隔,可以選 1 second,3 minute,5 hour,9 day,1 month,1 quarter(季度),1year

51從2023年1月13號0點開始,每天執行一次

52 on schedule every 1 day starts '2013-01-13 00:00:00'

53從現在開始每隔九天定時執行

54 on schedule every 9day starts now() ;

55每個月的一號凌晨1 點執行

56 on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1hour);

57每個季度一號的凌晨1點執行

58 on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1hour);

59每年1月1號凌晨1點執行

60 on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);

Mysql 檢視定時器 開啟定時器 設定定時器時間

1.檢視是否開啟evevt與開啟evevt。1.1 mysql evevt功能預設是關閉的,可以使用下面的語句來看evevt的狀態,如果是off或者0,表示是關閉的。show variables like sche 1.2 開啟evevt功能 setglobal event scheduler 1 ...

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...