⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 events.test

📁 开启mysql的远程连接的方法 mysql-noinstall-5.1.6-alpha-win32.zip
💻 TEST
字号:
create database if not exists events_test;use events_test;drop event if exists event1;create event event1 on schedule every 15 minute starts now() ends date_add(now(), interval 5 hour) DO begin end;alter event event1 rename to event2 enable;alter event event2 disable;alter event event2 enable;alter event event2 on completion not preserve;delimiter __;alter event event2 on schedule every 1 year on completion preserve rename to event3 comment "new comment" do begin select 1; end__delimiter ;__alter event event3 rename to event2;drop event event2;create event event2 on schedule every 2 second starts now() ends date_add(now(), interval 5 hour) comment "some" DO begin end;drop event event2;create event e_43 on schedule every 1 second do set @a = 5;set global event_scheduler = 1;select sleep(2);alter event e_43 do alter event e_43 do set @a = 4;select sleep(3);select db, name, body, status, interval_field, interval_value from mysql.event;drop event e_43;select sleep(1);set global event_scheduler = 0;create table t_event3 (a int, b float);drop event if exists event3;create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20151010", interval 5 day) comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());set max_allowed_packet=128000000;select count(*) from t_event3;drop event event3;drop table t_event3;##INFORMATION_SCHEMA.EVENTS test begin#create event one_event on schedule every 10 second do select 123;--replace_column 8 # 9 #SHOW EVENTS;SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;CREATE DATABASE events_test2;CREATE USER ev_test@localhost;GRANT ALL ON events_test.* to ev_test@localhost;GRANT ALL on events_test2.* to ev_test@localhost;REVOKE EVENT ON events_test2.* FROM ev_test@localhost;REVOKE PROCESS on *.* from ev_test@localhost;#now we are on con1connect (ev_con1,localhost,ev_test,,events_test2);select "NEW CONNECTION";SELECT USER(), DATABASE();SHOW GRANTS;--echo "Here comes an error:";#NO EVENT_ACL on events_test2--error 1044SHOW EVENTS;USE events_test;--echo "Now the list should be empty:";--replace_column 8 # 9 #SHOW EVENTS;#now create an event with the same name but we are different userselect concat("Let's create some new events from the name of ",user());create event one_event on schedule every 20 second do select 123;create event two_event on schedule every 20 second on completion not preserve comment "two event" do select 123;create event three_event on schedule every 20 second on completion preserve comment "three event" do select 123;--echo "Now we should see 3 events:";--replace_column 8 # 9 #SHOW EVENTS;--echo "This should show us only 3 events:";--replace_column 8 # 9 #SHOW FULL EVENTS;--echo "This should show us only 2 events:";--replace_column 8 # 9 #SHOW FULL EVENTS LIKE 't%event';--echo "This should show us no events:";--replace_column 8 # 9 #SHOW FULL EVENTS FROM test LIKE '%';#ok, we are backconnection default;DROP DATABASE events_test2;--echo "should see 1 event:";--replace_column 8 # 9 #SHOW EVENTS;--echo "we should see 4 events now:";--replace_column 8 # 9 #SHOW FULL EVENTS;SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;connection ev_con1;drop event one_event;drop event two_event;drop event three_event;disconnect ev_con1;connection default;drop user ev_test@localhost;drop event one_event;###INFORMATION_SCHEMA.EVENTS test end#create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;drop event e_26;--error 1503create event e_26 on schedule at NULL disabled do set @a = 5;--error 1503create event e_26 on schedule at 'definitely not a datetime' disabled do set @a = 5;set names utf8;create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1;drop event задачка;# event_scheduler is a global var--error 1229set event_scheduler=0;# event_scheduler could be only either 0 or 1--error 1231set global event_scheduler=2;#set global event_scheduler=0;#select count(*) from mysql.event;#select get_lock("test_lock1", 20);#create event закачка on schedule every 10 hour do select get_lock("test_lock1", 20);#select count(*) from mysql.event;##show processlist;#select release_lock("test_lock1");#drop event закачка;#select count(*) from mysql.event;##set global event_scheduler=1;#select get_lock("test_lock2", 20);#create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);#select sleep(2);#show processlist;#select release_lock("test_lock2");#drop event закачка;#### 1. get a lock## 2. create an event## 3. sleep so it has time to start## 4. should appear in processlist## 5. kill the scheduler, it will wait for the child to stop## 6. both processes should be there on show processlist## 7. release the lock and sleep, both scheduler and child should end#set global event_scheduler=1;#select get_lock("test_lock2_1", 20);#create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);#select sleep(2);##show processlist;#set global event_scheduler=0;#select sleep(2);##show processlist;#select release_lock("test_lock2_1");#select sleep(2);##show processlist;#drop event закачка21;#set global event_scheduler=1;#select get_lock("test_lock3", 20);#create event закачка on schedule every 10 hour do select get_lock("test_lock3", 20);#select sleep(2);#show processlist;#drop event закачка;#select release_lock("test_lock3");## test with very often occuring event# (disabled for now, locks)##select get_lock("test_lock4", 20);##create event закачка4 on schedule every 1 second do select get_lock("test_lock4", 20);##select sleep(3);##show processlist;##drop event закачка4;##select release_lock("test_lock4");#set global event_scheduler=0;#select sleep(2);##show processlist;##the following locks for some reason and is a bug, commented for now##select count(*) from mysql.event;drop database events_test;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -