DB 기록을 주기적으로 할 수 있는 기능..

작업 스케줄러처럼 주기적으로 쓸 수 있는데다가 쿼리를 넣어두거나 프로시저 호출 등을 지정해둘 수 있다!... 이런 기능을 몰랐었다니..




show variables like 'event%';

ㄴ이벤트 스케줄러가 켜져 있는지를 체크할 수 있다.



SET GLOBAL event_scheduler = ON ;

SET GLOBAL event_scheduler = OFF ;

ㄴ 이벤트 스케줄러를 껐다 킬 수 있다. (이벤트 동작 여부를 총체적으로 결정)



SELECT * FROM information_schema.EVENTS;

ㄴ 현재 db에 작성된 event 들을 볼 수 있다.




CREATE EVENT 이벤트명
ON SCHEDULE EVERY 1 MONTH STARTS TIMESTAMP('2016-01-01')
DO 
수행할 작업;
ㄴ 이벤트를 생성할 수 있다. MONTH면 달, HOUR면 시, DAY면 일 등.. 주기적인 설정이 가능하다. 수행할 작업에는 프로시저를 호출할 수도 있고, 그냥 쿼리문을 쓸 수도 있다.


show create event 이벤트명;

ㄴ 해당 이벤트를 어떻게 생성하는 지 구문을 볼 수 있다. (다른 곳에서 옮겨오기도 좋다)



ALTER EVENT 이벤트명 

ON 시작 설정 등등.. ;

ㄴ 이벤트 수정이 가능


DROP EVENT 이벤트명; 

ㄴ 이벤트를 삭제할 수 있다.




덧붙여 At을 붙여서


CREATE EVENT test

ON SCHEDULE AT '2016-06-21 22:04:00'

DO

create table tt(id int(10))


과 같이 만들면 한번 쓰고 버리게 된다!


'프로그래밍 > MySQL' 카테고리의 다른 글

이벤트 스케줄러(Event Scheduler)  (1) 2016.06.21
MySql DB 작성해보기  (1) 2016.03.13
MySQL 저장 프로시져 내에서 발생한 에러 처리 (Error Handling)  (0) 2016.02.23
MySql 설치하기  (0) 2016.02.21
Auto Increment란  (0) 2016.02.05
MySql 주석을 달자  (0) 2016.02.01
Posted by GENESIS8

댓글을 달아 주세요