자바에서도 배치를 사용하여 자동으로 실행되도록하는 기능들을 개발했던 기억이있다
DB에서도 이런 스케줄러가 있다는건 알고있었지만 쓸일이없다가
이번에 기능을하나 개발하게되면서
훗날 언젠가는 또 한번은 뒤적뒤적할 것 같아 정리해둔다.
이 글을 검색하신 모든분들에게도 도움이되었으면하는 바램입니다.
1. 이벤트 스케줄러 ON/OFF 확인
SHOW VARIABLES LIKE 'event%';
2. 이벤트 스케줄러 ON/OFF 설정
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = OFF;
3. 이벤트 생성
CREATE EVENT test
ON SCHEDULE EVERY 1 MONTH START CURRENT_TIMESTAMP
DO
SELECT 1;
MONTH면 달, HOUR면 시, DAY면 일등 주기적으로 상황에맞게 개발하면된다.
4. 이벤트 수정
ALTER EVENT 이벤트명
ON 시작 설정 등등등.... ;
5. 이벤트 삭제
DROP EVENT 이벤트명;
6. 이벤트를 생성하되, 최초 1회만 사용하고 더이상 사용하고싶지않은 이벤트 생성
CREATE EVENT test
ON SCHEDULE AT '2020-01-01 00:00:00'
DO
CREATE TABLE NEW_YEAR (id INT(10))
위와같이 이벤트를 생성할때 뒤에 AT를 붙여주면 된다.
적절하게 이용하세요~