본문 바로가기

MySQL

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

 

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

 

 

 

'MySQL' 카테고리의 다른 글

JOIN 을 이용한 다중 행 UPDATE와 DELETE 사용하기  (0) 2014.06.04
MySQL Event 확인하기  (1) 2014.05.23
MySQL Fetch Cursor 문 사용방법  (0) 2014.05.17
mysql 암호분실 시  (0) 2014.04.29
mysql Process 보기 및 Kill 하기  (0) 2014.02.27