>> 이벤트 생성 권한 확인
show variables like 'event%';

>> 이벤트 생성 권한 변경
set global event_scheduler = on;

>> 이벤트 등록

참고 : http://dev.mysql.com/doc/refman/5.1/en/create-event.html
참고 : http://forum.falinux.com/zbxe/index.php?document_srl=565440&mid=lecture_tip



1. 이벤트 등록 형식

CREATE

    [DEFINER = { user | CURRENT_USER }]

    EVENT

    [IF NOT EXISTS]

    event_name

    ON SCHEDULE schedule

    [ON COMPLETION [NOT] PRESERVE]

    [ENABLE | DISABLE | DISABLE ON SLAVE]

    [COMMENT 'comment']

    DO event_body;


schedule:

    AT timestamp [+ INTERVAL interval] ...

  | EVERY interval

    [STARTS timestamp [+ INTERVAL interval] ...]

    [ENDS timestamp [+ INTERVAL interval] ...]


interval:

    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

              WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |

              DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}



2. 예) 한달 간격으로 오늘을 기준으로해서 한달 이후의 데이터를 삭제하는 샘플

CREATE EVENT IF NOT EXISTS 이벤트 이름

    ON SCHEDULE

        EVERY 1 MONTH

        STARTS CURRENT_TIMESTAMP

    DO

        DELETE FROM db명.테이블명 where 시간컬럼명 <= date_sub(curdate(), INTERVAL 1 MONTH); 

※주의: 한글은 임의로 쓴것입니다. 각자 상황에 맞게 바꿔서 쓰시길 바랍니다.


실행은 sql커맨드에서 실행합니다.

예)

mysql>use 데이터베이스명

Database changed

mysql>CREATE EVENT IF NOT EXISTS 이벤트 이름

    ON SCHEDULE

        EVERY 1 MONTH

        STARTS CURRENT_TIMESTAMP

    DO

        DELETE FROM db명.테이블명 where 시간컬럼명 <= date_sub(curdate(), INTERVAL 1 MONTH);



안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히

댓글을 달아 주세요