안녕하세요.

mysql은 주기적으로 실행하는 스케줄러 기능이 존재합니다.

저는 주기적으로 삭제하기위해서 해당 스케줄러를 등록하여 사용중에 있는데 해당 방법을 알려드립니다.

 

#스케줄러 등록 방법

CREATE EVENT IF NOT EXISTS TEST_DELETE
    ON SCHEDULE
       EVERY 1 minute  // day,hour,minute,secode등 지정할수있습니다.
    ON COMPLETION NOT PRESERVE
    ENABLE
    COMMENT "삭제"
    DO 
    delete from test where ...

 

해당 mysql에 등록하면 test 디비를 1분마다 지우게되는 스크립트입니다. 해당 do 밑에다가 조건을 주어 삭제를 하게되면 데몬 및 crontab을 안통해서도 삭제가 가능합니다.

 

 

#스케줄러가 동작안 할 경우

SELECT @@event_scheduler;  --> 확인하여 off 라면

//설정 on

SET GLOBAL event_scheduler = 'ON';

 

간단하게 스케줄러를 등록하여 삭제, 등록, 수정을 할 수 있습니다.

 

감사합니다.

+ Recent posts