Event 란 MySQL 5.1 부터 지원된 기능으로, 특정 시간 마다 정해진 일을 할 수 있도록 이벤트를 지정하는 것입니다.
Event 등록을 통해 특정 시간에 어떠한 쿼리 프로시저 함수 등을 실행 시킬 수 있습니다.
CREATE EVENT [IF NOT EXISTS] 이벤트명
ON SCHEDULE 스케줄
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT '주석']
DO [BEGIN] 실행할 sql문; [실행할 sql문]; [END]
(Default OFF)
mysql> show variables like '%event%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
GRANT EVENT ON *.* TO 'username'@'ip_address';
현재 사내에서는 MySQL Event 기능을 사용하지 않고 Linux Crontab 기능을 사용하고 있음
- 여러 운영 서버 중 어느 서버가 Event Enable/Disable 인 지 관리하기 어려움
- 어디에 등록된 Event 인 지 잘 인지하지 못한다면 중복 실행 또는 실행 누락 등의 문제 발생
잘봤습니다.