일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- sh shutdown.sh 오류
- 안드로이드
- 10진수
- gitignore not working
- MySQL
- return 1
- event scheduler
- chrome://inspect
- centos java_home
- 인덱스 여러개
- adjustNothig
- 변환기
- 광고
- 이벤트 스케쥴러
- 웹뷰 원격
- gitignore 오류
- foreign_key
- centos java
- 키보드 사라짐
- 자바 버전 확인
- 리눅스
- centos 환경변수
- /usr/lib/jvm
- useGeneratedKeys
- 웹뷰 디버깅
- centos jre_home
- jdk 상세버전 확인
- web view
- arm-linux-androideabi
- ndk 오류
- Today
- Total
개발자가 되고 싶은 1人
mysql event schedule 본문
spring에서는 quartz, spring scheduler 의 스케쥴러가 있듯이
oracle 에서는 job, mysql 에서는 event schedule 로 스케쥴링을 할 수 있다.
이번 시간에는 mysql의 이벤트 스케쥴러에 대해서 작성하고자 한다.
1. 사전 작업.
event schdule 을 사용하기 위해서는.
1.1 mysql에 접속하여 event schedule이 정상 동작 중인지 체크한다.
show variables like 'event%'; 입력
1.2 my.cnf 파일을 찾아서
event-scheduler = 1 또는
event-scheduler = ON 와 같이 입력하고 mysql을 재시작 한다.
2. event 작성 기본 SQL 을 통하여 이벤트 스케쥴러 생성
2.1 기본 SQL 문은 다음과 같다.
/* SQL */
CREATE EVENT [IF NOT EXISTS] 이벤트명
ON SCHEDULE 스케줄
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT '주석']
DO [BEGIN] 실행할 sql문; [실행할 sql문];
[END]
2.2 세부 설정으로는
① 시간설정 ( 매일)
ex) 매일 : EVERY 1 DAY,
10분마다 : EVERY 10 MINUTE,
② 시간설정(특정 시간)
ex) 한번만 : AT '2021-12-20 13:40:11' -- 2021-12-20 13:40:11 시간에 1번 실행
3. 적용 예시
create definer = root@`%` event UPDATE_LOGIN_TYPE on schedule
every '1' MINUTE
starts '2021-12-05 10:10:00'
on completion preserve
enable
comment 'UPDATE_LOGIN_TYPE'
do
BEGIN
UPDATE test
SET LOGIN_type = 20
WHERE 1=1
AND LOGIN_type = 10
AND UNIX_TIMESTAMP(UPDATED_AT) < UNIX_TIMESTAMP(NOW());
END;
'프로그래밍 > Database' 카테고리의 다른 글
mysql Database 및 Table dump, 복원 (0) | 2021.11.11 |
---|---|
mysql 외래키 무시하고 데이터 삭제하기 (0) | 2021.06.18 |
mysql 원하는 인덱스 사용하기 (0) | 2020.12.20 |
mysql 모니터링 (0) | 2020.12.13 |
윈도우에서 mariadb 서비스 종료 및 시작 (0) | 2020.06.05 |