MySQL 이벤트

From IT Wiki
(Redirected from MySQL 스케줄러)

개요[edit | edit source]

  • MySQL 5.1버전 부터 사용 가능

확인 및 활성화[edit | edit source]

  • 확인
    • SHOW VARIABLES LIKE '%event%' ;
  • 활성화
    • SET GLOBAL event_scheduler = ON ;
    • 또는 my.cnf 설정 event_scheduler=On

문법[edit | edit source]

CREATE EVENT IF NOT EXISTS [이벤트 이름]
    ON SCHEDULE
        [수행, 반복 할 시간]
    ON COMPLETION NOT PRESERVE
    ENABLE
    COMMENT [코멘트]
    DO 
    [수행할 명령]
END
  • 이벤트 이름: 이벤트 스케줄의 이름
    • 유니크해야 함. 최대 64문자까지. 대소문자 구분하지 않음
  • 수행, 반복 할 시간: 해당 명령을 수행하거나 반복할 시간 및 기간
  • 코멘트: 이벤트의 내용
  • 수행할 명령: 이벤트에서 수행할 명령

수행, 반복 시간[edit | edit source]

  • 특정 시간에 한번 실행
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일까지 실행

저장 및 확인, 삭제[edit | edit source]

  • 저장 위치
    • mysql 데이터베이스(information schema)의 event 테이블에 등록
  • 확인 방법
    • show events;
  • 삭제 방법
    • drop event 이벤트명;