-
[MariaDB] Event SchedulerDatabase 2023. 4. 19. 11:59
* 개요
: MariaDB도 다른 DB 제품들과 마찬가지로 정해진 시간에 정해진 규칙에 따라 쿼리 루틴을 실행 할 수 있는 스케줄러가 있다. 매일 정기적으로 데이터를 클렌징 한다거나 조각모음을 한다거나 하는 경우에 활용 할 수 있다.
* 현재 configuration 확인 및 셋팅
SHOW GLOBAL VARIABLES WHERE Variable_name = 'event_scheduler';
: 기능 셋팅
# vi my.cnf 수정 후 재시작 필요 event_scheduler = 1
* 이벤트 생성
# 이벤트 예제 -- Event 생성 CREATE EVENT IF NOT EXISTS EV_BACKUP_TABLE ON SCHEDULE EVERY 1 MINUTE -- Event 실행 주기 STARTS ' 2016-12-08 10:00:00' -- Event 최초 시작 시간 DO CALL SP_BACKUP_TABLE_CREATE(); -- Event에서 수행할 명령어 # 사용 가능한 반복 주기 YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND # 시간 설정 예시 ## 특정 시간에 실행 하는 경우 /* AT '2016-11-17 11:35:00' 처럼 특정시간 지정 가능(미래의 시간만 지정 가능) 또는 AT CURRENT_TIMESTAMP + INTERVAL 5 MINUTE + INTERVAL 30 SECOND 식으로 현재시간 에서 5분 30초 이후에 실행하게뜸 지정 가능 MINUTE, SECOND 말고도 여러 키워드를 넣어 설정할수 있고 + 를 통해 연결 가능 */ ## 일정 주기 반복 /* EVERY 2 MINUTE /*2분 마다 실행, 다른 키워드 사용가능*/ STARTS '2016-11-17 11:35:00' + INTERVAL 0 MINUTE /*시작 시간을 설정하고 + 를 사용해서 인터벌을 줄수도 있다.*/ ENDS '2016-11-17 12:14:00' /*종료시간 셋팅 미입력시 무한반복*/ ON COMPLETION PRESERVE /*이벤트가 종료된후 이벤트를 남겨둘지에 대한 여부 없을경우 기본 삭제됨.*/ */
* 이벤트 관리
# 이벤트 목록 조회 SHOW EVENTS; # 이미 생성된 이벤트의 상세 내용 조회 SELECT * FROM information_schema.events; # 이벤트 삭제 DROP EVENT '이벤트명';
* 참고 자료
- 기본 사용 방법 : https://fernweh6990.tistory.com/150
'Database' 카테고리의 다른 글
대용량 테이블 데이터 클렌징 (0) 2024.10.28 [MariaDB] General log 설정 (0) 2023.10.23 [MariaDB] MariaDB 레플리케이션 모니터링 쉘프로그램 (on Docker) (0) 2023.03.08 [MSSQL] 백업 및 로그 파일 축소 (0) 2023.02.28 [MariaDB] Slow query 수집 (0) 2023.01.27