mysql 이벤트 스케쥴러 사용하기
정기적으로 무언가 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
※ 이제는 서버를 재부팅해도 이벤트가 항상 살아 있을 것이다.