1.스케줄을 넣자.
MySQL에 처음 스케줄을 넣으려 하면 정상적으로 안들어가는 이유는
활성화가 안되어 있어서가 지금까진 큰이유인거 같아요.
1 2 3 4 | SET GLOBAL event_scheduler = ON; SET @@global.event_scheduler = ON; SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; |
위에 있는 명령어를 입력하여 스케줄러를 활성화 시킵니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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} |
위와 같이 작성을 하면 된다고 하는데 예제로 쉽게 보는게 좋다고 생각됩니다.
1 2 3 4 5 | create event IF NOT EXISTS resetTable ON SCHEDULE EVERY 7 DAY STARTS '2018-08-20 00:00:00' DO DELETE FROM testDBname.resetTablename; |
1 2 3 4 5 | create event IF NOT EXISTS 이벤트명 ON SCHEDULE EVERY 이벤트 STARTS '2018-08-20 00:00:00' DO DELETE FROM 디비명.테이블명; |
해본 경험으로는
데이터 베이스 use로 들어가 하기때문에 디비명은 안적어도 잘 돌아간다고 생각됩니다.
2.스케줄을 관리하자.
나중에 이벤트 확인은(위에 이벤트 입력때 처럼 데이터베이스 use한 이후)
1 | SHOW EVENTS ; |
를 입력하시면 리스트를
1 | SHOW CREATE EVENT `이벤트명` ; |
를 입력하시면 자세한 이벤트 내용이 확인 가능합니다.
+ '이벤트명' <-이게 문법오류일땐 ' ' <-이거 빼고 하시면 됩니다.
아 삭제를 하고 싶으신가요?
1 | DROP event `이벤트명` ; |
이명령어를 입력하시면 삭제 가능합니다.
이거 하면서 테이블에서 테이블로 데이터를 옮기게 되서
아래와 같이 작동하는 이벤트를 만들어서 사용했어요.
1 | INSERT INTO [table] (column1, colum2, colum3) SELECT column1, colum2, colum3 FROM [table] WHERE [조건]; |
이것은 칼럼을 골라서 할때이고 완전히 똑같은 테이블이다 하면
1 | INSERT INTO [table] SELECT * FROM [table] WHERE [조건]; |
이렇게 사용하시면 될거 같아요.
작성하면서 참고한 링크
http://forum.falinux.com/zbxe/index.php?document_srl=565440&mid=lecture_tip
http://blog.freezner.com/archives/477
http://bizadmin.tistory.com/entry/MySQL-Event-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0
'Sever' 카테고리의 다른 글
[설정]VULTR 서버생성 (0) | 2019.05.20 |
---|---|
Vultr_서버의 시간 조정(타임존 세팅) (0) | 2018.12.14 |
Tomcat_MySQL 오류 Could not open JDBC Connection for transaction; (0) | 2018.07.18 |
MYSQL에 쓸만한 명령어들 (0) | 2018.06.25 |
tomcat 복수개 포트 서비스 하기 (0) | 2018.06.20 |