您好,欢迎访问一九零五行业门户网

mysql学习记录(十一)--事件调度器_MySQL

一、理论:
1.优势:
1)减少系统管理员的操作风险,有利于数据库整体迁移。因数据库迁移时即可同时迁移调度事件
2.场景:
1)定期收集统计信息
2)清理历史数据
3)数据库检查
3.要点:
1)在性能要求高且重要的数据库中要慎重部署和启用调度器
2)过于复杂的更适合用程序
3)开启和关闭事件调度器需要具有超级用户权限
二、实践:
mysql> use test1;reading table information for completion of table and column namesyou can turn off this feature to get a quicker startup with -adatabase changedmysql> create table test(id1 varchar(10),create_time datetime);query ok, 0 rows affected (0.02 sec)mysql> create event test_event_1 -> on schedule -> every 5 second -> do -> insert into test1.test(id1,create_time) -> values ('test',now());query ok, 0 rows affected (0.01 sec)mysql> show events \g;*************************** 1. row *************************** db: test1 name: test_event_1 definer: root@localhost time zone: system type: recurring execute at: null interval value: 5 interval field: second starts: 2015-10-14 06:33:17 ends: null status: enabled originator: 1character_set_client: utf8collation_connection: utf8_general_ci database collation: utf8_general_ci1 row in set (0.01 sec)error: no query specifiedmysql> select * from test;empty set (0.00 sec)mysql> show variables like '%scheduler%';+-----------------+-------+| variable_name | value |+-----------------+-------+| event_scheduler | off |+-----------------+-------+1 row in set (0.00 sec)mysql> set global event_scheduler = 1 ;query ok, 0 rows affected (0.00 sec)mysql> show variables like '%scheduler%';+-----------------+-------+| variable_name | value |+-----------------+-------+| event_scheduler | on |+-----------------+-------+1 row in set (0.00 sec)mysql> show processlist \g;*************************** 1. row *************************** id: 17 user: root host: localhost db: test1command: sleep time: 247901 state: info: null*************************** 2. row *************************** id: 21 user: root host: localhost db: test1command: query time: 0 state: null info: show processlist*************************** 3. row *************************** id: 22 user: event_scheduler host: localhost db: nullcommand: daemon time: 1 state: waiting for next activation info: null3 rows in set (0.00 sec)error: no query specifiedmysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:33:57 || test | 2015-10-14 06:34:02 || test | 2015-10-14 06:34:07 || test | 2015-10-14 06:34:12 || test | 2015-10-14 06:34:17 || test | 2015-10-14 06:34:22 |+------+---------------------+6 rows in set (0.00 sec)mysql> create event trunc_test -> on schedule every 1 minute -> do truncate table test;query ok, 0 rows affected (0.00 sec)mysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:34:52 || test | 2015-10-14 06:34:57 || test | 2015-10-14 06:35:02 || test | 2015-10-14 06:35:07 || test | 2015-10-14 06:35:12 || test | 2015-10-14 06:35:17 || test | 2015-10-14 06:35:22 || test | 2015-10-14 06:35:27 || test | 2015-10-14 06:35:32 || test | 2015-10-14 06:35:37 |+------+---------------------+10 rows in set (0.00 sec)mysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:37:52 || test | 2015-10-14 06:37:57 |+------+---------------------+2 rows in set (0.00 sec)mysql> show processlist \g;*************************** 1. row *************************** id: 17 user: root host: localhost db: test1command: sleep time: 248177 state: info: null*************************** 2. row *************************** id: 21 user: root host: localhost db: test1command: query time: 0 state: null info: show processlist*************************** 3. row *************************** id: 22 user: event_scheduler host: localhost db: nullcommand: daemon time: 2 state: waiting for next activation info: null3 rows in set (0.00 sec)error: no query specifiedmysql> alter event trunc_test disable;query ok, 0 rows affected (0.02 sec)mysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:38:52 || test | 2015-10-14 06:38:57 || test | 2015-10-14 06:39:02 || test | 2015-10-14 06:39:07 || test | 2015-10-14 06:39:12 || test | 2015-10-14 06:39:17 || test | 2015-10-14 06:39:22 || test | 2015-10-14 06:39:27 || test | 2015-10-14 06:39:32 || test | 2015-10-14 06:39:37 |+------+---------------------+10 rows in set (0.00 sec)mysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:38:52 || test | 2015-10-14 06:38:57 || test | 2015-10-14 06:39:02 || test | 2015-10-14 06:39:07 || test | 2015-10-14 06:39:12 || test | 2015-10-14 06:39:17 || test | 2015-10-14 06:39:22 || test | 2015-10-14 06:39:27 || test | 2015-10-14 06:39:32 || test | 2015-10-14 06:39:37 || test | 2015-10-14 06:39:42 || test | 2015-10-14 06:39:47 || test | 2015-10-14 06:39:52 || test | 2015-10-14 06:39:57 || test | 2015-10-14 06:40:02 || test | 2015-10-14 06:40:07 |+------+---------------------+16 rows in set (0.00 sec)mysql> alter event test_event_1 disable;query ok, 0 rows affected (0.00 sec)mysql> select * from test;+------+---------------------+| id1 | create_time |+------+---------------------+| test | 2015-10-14 06:38:52 || test | 2015-10-14 06:38:57 || test | 2015-10-14 06:39:02 || test | 2015-10-14 06:39:07 || test | 2015-10-14 06:39:12 || test | 2015-10-14 06:39:17 || test | 2015-10-14 06:39:22 || test | 2015-10-14 06:39:27 || test | 2015-10-14 06:39:32 || test | 2015-10-14 06:39:37 || test | 2015-10-14 06:39:42 || test | 2015-10-14 06:39:47 || test | 2015-10-14 06:39:52 || test | 2015-10-14 06:39:57 || test | 2015-10-14 06:40:02 || test | 2015-10-14 06:40:07 || test | 2015-10-14 06:40:12 || test | 2015-10-14 06:40:17 || test | 2015-10-14 06:40:22 || test | 2015-10-14 06:40:27 |+------+---------------------+20 rows in set (0.00 sec)mysql> drop event test_event_1;query ok, 0 rows affected (0.01 sec)mysql> show events \g;*************************** 1. row *************************** db: test1 name: trunc_test definer: root@localhost time zone: system type: recurring execute at: null interval value: 1 interval field: minute starts: 2015-10-14 06:34:48 ends: null status: disabled originator: 1character_set_client: utf8collation_connection: utf8_general_ci database collation: utf8_general_ci1 row in set (0.00 sec)error: no query specified
其它类似信息

推荐信息