什么是MySQL事件?
mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。
MySQL事件怎么操作?
查看事件是否开启:
select @@event_scheduler;
show variables like 'event_scheduler';
show events; show full events;show create event event_name;
show processlist;
查看EVENT命令有如下几种:
(1)查询mysql.event表;
(2)通过SHOW EVENTS命令;
(3)通过SHOW FULL EVENTS命令;
(4)通过查询information_schema.events表
(5)SHOW CREATE EVENT。
总之,event的使用频率较低建议使用root用户进行创建和维护。
查询information_schema.events表
select * from information_schema.events limit 1\g;
开启mysql的事件:
set global event_scheduler = on;参数立刻生效
更改配置文件然后重启event_scheduler=on
在my.cnf中的[mysqld]部分添加,然后重启mysql。
通过制定事件参数启动
mysqld ... --event_scheduler=on
使用建议
1) 主库已执行过,从库上务保证event不会执行(除非故意在slave上创建的event)
2) 创建,删除等操作严禁直接操作mysql.event表,而是通过create等正规语法实现
3) 创建的event涉及到海量数据变更的话,要做好充分测试,确保不影响现网服务
4) 如果需要备份带有event的DB,mysqldump时需要加上--event参数
Atas ialah kandungan terperinci mysql查看事件是否执行. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!