mysql 이벤트 스케쥴러 사용하기

MySQL 2014. 5. 23. 11:41 Posted by 불가사리 bluemount

정기적으로 무언가 DBMS에서 하고 싶은 경우가 있다. MS-SQL 은 MS-AGENT 가 있다. 그런데 mysql에서는 그런 기능을 없는 걸로 알고 있었다. 그런데 MySQL 5.16에서 Event Scheduler가 추가되어 이젠  MS-AGENT 가 부럽지 않다.

 

 

1. mysql 접속해서 환경변수 확인

 

- 리눅스에서 mysql에 접속한다.

 

mysql -uroot -p

 

- mysql 접속해서 환경 변수 조회 해 본다.

 

show variables like 'event%' ;

 

※ event_scheduler 이 OFF 면 이벤트스케쥴러가 활성화 되어 있지 않다는 의미다. 이벤트를 만들어 놓아도 정해진 시간에 자동으로 실행되지 않는다.

 

 

 

2. 이벤트가 동작하게 설정 한다.

 

SET GLOBAL event_scheduler = ON ;

 

- 이벤트 프로세스가 실행되고 있는 걸 확인 할 수 있다.

 

SHOW PROCESSLIST \G ;

 

※ \G 옵견은 쿼리결과를 아래로 보기 좋게 나오게 하는 옵션이다.

 

 

3. 그런데 서버를 껏다가 다시 켜면 이벤트가 활성화 안되어 있다면

 

sudo vi /etc/mysql/my.cnf

 

- 아래와 같이 mysqld 영역안에 추가 하고 저장하고 나온다.

 

event_scheduler = ON

 

- mysql 서비스 재시작해 준다. 

 

sudo /etc/init.d/mysql restart

 

※ 이제는 서버를 재부팅해도 이벤트가 항상 살아 있을 것이다.

 

 

 

댓글을 달아 주세요

  1. 한상훈 2015.09.19 11:19  댓글주소  수정/삭제  댓글쓰기

    딱 필요한 정보네요. 감사합니다.

  2. 박진호 2017.09.26 08:24  댓글주소  수정/삭제  댓글쓰기

    재부팅 후 스케줄러가 동작 하지 않는데 혹시 어딜 봐야 할까요?