반응형
이벤트 스케줄러 설정 확인
SHOW VARIABLES WHERE VARIABLE_NAME = 'event_scheduler';
이벤트 스케줄러 사용 ON 설정 (임시)
SET GLOBAL event_scheduler = ON;
데이터베이스가 재시작되거나 하면 설정값이 날라간다.
이벤트 스케줄러 사용 ON 설정 (영구)
mraidb 설정 파일 (버전 및 install 환경에 따라 달라질 수 있다.
# mraidb 설정 파일 변경(버전 및 install 환경에 따라 달라질 수 있다.)
vim /etc/mysql/mariadb.conf.d/50-server.cnf
# [50-server.conf]
[mariadb]
# event_scheduler 속성 추가 또는 ON
event_scheduler = on
# mariadb 재시작
service mariadb restart
이벤트 생성
syntax
CREATE [OR REPLACE]
[DEFINER = { user | CURRENT_USER | role | CURRENT_ROLE }]
EVENT
[IF NOT EXISTS]
event_name -- event_name은 최대 길이가 64자인 유효한 MariaDB 식별자
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'comment']
DO sql_statement;
schedule:
AT timestamp [+ INTERVAL interval] ...
| EVERY interval
[STARTS timestamp [+ INTERVAL interval] ...]
[ENDS timestamp [+ INTERVAL interval] ...]
interval (반복주기) :
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
일회성 이벤트 (feat. AT)
CREATE EVENT myevent -- myevent라는 이벤트를 생성합니다.
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR -- SQL 문을 실행하여 한 번 ( 생성 후 1시간 ) 실행
DO
UPDATE myschema . mytable SET mycol = mycol + 1 ; -- myschema.mytable 테이블의 mycol 열 값을 1씩 증가
반복성 이벤트 (feat. EVERY)
CREATE EVENT example -- example 이벤트 생성
ON SCHEDULE EVERY 1 HOUR -- 1시간마다 반복
STARTS CURRENT_TIMESTAMP + INTERVAL 1 MONTH -- 현재 시간으로 부터 1달 후 부터 시작
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH + INTERVAL 1 WEEK -- 현재 시간으로 부터 1달 후 + 일주일 후 때 종료
DO insert into test values (1); -- DO 실행할 쿼리
자세한 사항
https://mariadb.com/kb/en/create-event
https://mariadb.com/kb/en/event-scheduler
이벤트 목록 확인
SHOW EVENTS;
이벤트 마지막으로 실행된 시점 확인
SELECT last_executed FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'my_delete_event';
참고
https://plein-de-verite.tistory.com/217
반응형
'DB(SQL) > mysql|maria' 카테고리의 다른 글
[mariadb] text type default null (0) | 2022.12.12 |
---|---|
[MariaDB] 외부접속시 TLS/SSL 활성화 (feat. OpenSSL) (0) | 2022.10.06 |
[mariaDB] install mariadb on ubuntu 20.04 (feat. maria repo setup) (0) | 2022.07.07 |
[mariadb] mariadb version 선택시 참조해야하는 글 (0) | 2022.06.21 |
[mysql] mysql version 선택시 참조해야하는 글 (0) | 2022.06.21 |