안녕하세요. 오늘은 MySQL 이벤트 스케줄러 기능활성화에 대해 알아보겠습니다.

이벤트 스케줄러에대해 간단하게 설명을 드린다면, MySQL에서 정기적으로 일을 수행시켜야할때가 있습니다.

그때 반복적 혹은 1회성으로 DBMS를 제어를 도와주는것이 이벤트 스케줄러(Event Scheduler) 입니다.


해당 기능은 MySQL 5.16부터 추가되었습니다.


이벤트 스케줄러를 사용하기전, MySQL에서 활성화 작업을 진행해야합니다.

그작업을 포스팅하였습니다.


MySQL버전 : 5.6.41

Linux : CentOS


이벤트 스케줄러 활성화 하기 



MySQL에 로그인 합니다.




MySQL에 접속한뒤 이벤트 스케줄러가활성화 되어있는지 확인해보는 명령어를 입력합니다.



show variables like 'event%';



만약 결과가 OFF라면 비활성화 되어있는상태이며 이벤트 스케줄러가 있어도 동작을 하지 않습니다.




해당 이벤트스케줄 활성 옵션을 ON으로 변경해줍니다.



 SET GLOBAL event_scheduler = ON;



다시 활성화 여부를 SELECT해보면 ON으로 바뀐것을 확인할수있습니다.


이제 MySQL의 이벤트 스케줄러를 생성후 사용하시면 동작이 가능합니다.



이벤트 스케줄러 초기화 문제 


MySQL을 재시작시에 이벤트 스케줄러 활성화 옵션이 다시 OFF로 전환되는것을 확인할수 있습니다.

이는 MySQL설정에서 변경하여 재시작시에도 계속해서 ON으로 활성화되게 설정해보는 작업을 해보겠습니다.





먼저 MySQL 부팅시 설정파일인 my.cnf 경로를 찾아 줍니다.


 주의!! CentOS기준으로 작업을 진행중 입니다.


mysqld --verbose --help | grep -A 1 'Default options'



Linux에서 해당 명령어를 입력하시면 MySQL의 my.cnf 위치를 알수있습니다.

(사진의 빨간색 네모를 확인해주세요.)



위치된 경로의 설정파일을 vi에디터로 실행시켜줍니다.



[mysqld] 안에 event_scheduler = ON을 입력해주시고 저장을 해주세요.

(저는 하단에 설정하였습니다. 사진 하단 빨간색 네모를 확인해주세요.)



그후 MySQL을 재시작합니다.

service mysqld restart

(centOS기준 재시작 명령어 입니다.)



다시 MySQL접속후에도 Value값이 ON이 되어있는것을 확인 할 수 있습니다.


이제 정상적으로 이벤트 스케줄러를 사용할수 있게 되었습니다.



반응형

+ Recent posts