MySQL 스케줄러
From IT Wiki
개요
- MySQL 5.1버전 부터 사용 가능
확인 및 활성화
- 확인
- SHOW VARIABLES LIKE '%event%' ;
- 활성화
- SET GLOBAL event_scheduler = ON ;
- 또는 my.cnf 설정 event_scheduler=On
문법
CREATE EVENT IF NOT EXISTS [이벤트 이름] ON SCHEDULE [수행, 반복 할 시간] ON COMPLETION NOT PRESERVE ENABLE COMMENT [코멘트] DO [수행할 명령] END
- 이벤트 이름: 이벤트 스케줄의 이름
- 유니크해야 함. 최대 64문자까지. 대소문자 구분하지 않음
- 수행, 반복 할 시간: 해당 명령을 수행하거나 반복할 시간 및 기간
- 코멘트: 이벤트의 내용
- 수행할 명령: 이벤트에서 수행할 명령
수행, 반복 시간
- 특정 시간에 한번 실행
ON SCHEDULE AT '2020-02-22 15:33:33' -- 해당 시간에 1회 실행
- 특정 주기로 반복 실행
- YEAR, QUATER, MONTH, DAY, HOUR, MINUTE, WEEK, SECOND 등 사용 가능
ON SCHEDULE EVERY 1 DAY -- 하루 한번 반복
- 특정 기간 동안 실행
ON SCHEDULE EVERY 1 HOUR STARTS '2020-01-01 00:00:00' ENDS '2022-12-31 23:59:59' -- 1시간에 한번 20년 1월 1일 부터 22년 12월 31일까지 실행
저장 및 확인, 삭제
- 저장 위치
- mysql 데이터베이스(information schema)의 event 테이블에 등록
- 확인 방법
- show events;
- 삭제 방법
- drop event 이벤트명;