본문 바로가기
[ DataBase ]/DB etc.

MYSQL 이벤트 스케줄러

by 관이119 2017. 9. 11.











출처 - http://genesis8.tistory.com/298



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))


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



'[ DataBase ] > DB etc.' 카테고리의 다른 글

트리거(TRIGGER - DML TRIGGER)  (0) 2015.01.15
MSSQL 에서 CREATE OR UPDATE 프로시저 하는법  (0) 2014.08.08
[MSSQL] WITH (NOLOCK)  (0) 2014.08.06
mssql 에서 char  (0) 2014.05.26
nvarchar(max)  (0) 2014.02.07

댓글