1
set global event_scheduler=off;
2
drop database if exists events_test;
3
create database events_test;
5
create table execution_log(name char(10));
6
create event abc1 on schedule every 1 second do
7
insert into execution_log value('abc1');
8
create event abc2 on schedule every 1 second do
9
insert into execution_log value('abc2');
10
create event abc3 on schedule every 1 second do
11
insert into execution_log value('abc3');
12
create table event_like like mysql.event;
13
insert into event_like select * from mysql.event;
14
alter table mysql.event
15
change column body body longtext character set utf8 collate utf8_bin;
16
"Now we restart the server"
18
select @@event_scheduler;
22
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
23
select event_name from information_schema.events;
24
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
25
show create event intact_check;
26
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
27
drop event no_such_event;
28
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
29
create event intact_check_1 on schedule every 5 hour do select 5;
30
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
31
alter event intact_check_1 on schedule every 8 hour do select 8;
32
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
33
alter event intact_check_1 rename to intact_check_2;
34
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
35
drop event intact_check_1;
36
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
37
drop event intact_check_2;
38
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
39
drop event intact_check;
40
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
41
set global event_scheduler=on;
42
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
43
set global event_scheduler=off;
44
ERROR HY000: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
45
show variables like 'event_scheduler';
47
event_scheduler DISABLED
48
Make sure that we still can create and drop databases,
49
and no warnings are produced.
50
drop database if exists mysqltest_database_not_exists;
52
Note 1008 Can't drop database 'mysqltest_database_not_exists'; database doesn't exist
53
create database mysqltest_db1;
54
drop database mysqltest_db1;
55
Restore the original mysql.event table
56
drop table mysql.event;
57
rename table event_like to mysql.event;
58
Now let's restart the server again
60
select @@event_scheduler;
63
drop table execution_log;
64
drop database events_test;