Database ( DB )/Database

[mysql/mariadb] DB 스케쥴러

노루아부지 2019. 8. 10. 22:14

1. 스케쥴 등록

 

SET GLOBAL event_scheduler = on;

SET @@global.event_scheduler = on;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

 

또는 

 

my.cnf or my.ini 에 옵션(event_scheduler=On)을 추가하고 mysql 을 시작한다.

 

 

 

CREATE EVENT [이벤트명]

ON SCHEDULE [스케쥴 시간]

STARTS [시작시간] /* 선택 */

ENDS [종료시간] /* 선택*/

DO

[수행할 쿼리]

 

ex)

SET GLOBAL event_scheduler = on;

SET @@global.event_scheduler = on;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

 

CREATE EVENT e_doc_stat

ON SCHEDULE 

EVERY 1 day

#   STARTS CURRENT_TIMESTAMP /* 선택 */

# STARTS NOW() /* 선택 */

STARTS '2017-12-19 01:00:00'

DO

CALL hive_global.PROC_DOC_STAT(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), '%Y-%m-%d'));

 

* STARTS CURRENT_TIMESTAMP + INTERVAL 1 MINUTE     와 같은 형태로도 사용 가능

 

 

2. 등록된 스케쥴 확인

show events;

 

 

3. 스케쥴 삭제

delete from mysql.event where name='e_doc_stat';

728x90
loading