[MySQL] Event Scheduler란?

hwwwa·2023년 7월 20일
0

MySQL Event Scheduler

Event 란 MySQL 5.1 부터 지원된 기능으로, 특정 시간 마다 정해진 일을 할 수 있도록 이벤트를 지정하는 것입니다.
Event 등록을 통해 특정 시간에 어떠한 쿼리 프로시저 함수 등을 실행 시킬 수 있습니다.

Event 등록

CREATE EVENT [IF NOT EXISTS] 이벤트명
ON SCHEDULE 스케줄
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT '주석']
DO [BEGIN] 실행할 sql; [실행할 sql]; [END]

Event 활성화 여부 확인

(Default OFF)

mysql> show variables like '%event%';  
+-----------------+-------+  
| Variable_name   | Value |  
+-----------------+-------+  
| event_scheduler | OFF   |  
+-----------------+-------+  
1 row in set (0.00 sec)

Event 사용 권한 지정

GRANT EVENT ON *.* TO 'username'@'ip_address';

현재 사내에서는 MySQL Event 기능을 사용하지 않고 Linux Crontab 기능을 사용하고 있음

  • 여러 운영 서버 중 어느 서버가 Event Enable/Disable 인 지 관리하기 어려움
  • 어디에 등록된 Event 인 지 잘 인지하지 못한다면 중복 실행 또는 실행 누락 등의 문제 발생

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

잘봤습니다.

답글 달기