>> 이벤트 생성 권한 확인
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); |
'Development > DataBase' 카테고리의 다른 글
MySQL 외부 접속 허용 (0) | 2015.01.14 |
---|---|
MySQL Slow Query Log 설정 (0) | 2015.01.14 |
MySQL & MariaDB / Cannot load from mysql.proc. The table is probably corrupted (0) | 2014.07.10 |
MySQL & MariaDB Procedure 생성 및 권한 (0) | 2014.07.10 |
MySQL character set (한글 깨짐) (0) | 2014.06.03 |
