길민호(ethan.mino)
코딩수첩
길민호(ethan.mino)
전체 방문자
오늘
어제
  • 분류 전체보기 (215)
    • Computer Science (0)
    • Web (6)
      • CSS (0)
      • HTML (0)
    • Node.js (0)
    • Javascript (2)
    • Java (46)
      • Spring (27)
      • Jsp (0)
    • C\C++ (2)
    • Programming (0)
    • AI (0)
    • Database (7)
    • Git (5)
    • Algorithm (119)
      • Stack (0)
      • Queue (0)
      • Linked List (0)
      • Sort (0)
      • Simulation (27)
      • Recursion (0)
      • Backtracking (4)
      • Two Pointer (3)
      • Dynamic Programming (19)
      • Greedy (10)
      • Graph (3)
      • Dijkstra (1)
      • BFS\DFS (8)
      • Floyd (1)
      • MST (4)
      • Tree (4)
      • Binary Search (8)
      • Binary Search Tree (4)
    • IntelliJ (4)
    • Vscode (0)
    • Operating System (0)
    • 후기 (3)
    • 성장일지 (13)
    • 스터디 (7)
    • 설치 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ㅡ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
길민호(ethan.mino)

코딩수첩

Database

Mysql 데이터 베이스 Event

2020. 8. 25. 02:36

1. event scheduler 상태 확인

SHOW VARIABLES LIKE 'event%';

2. event scheduler ON/OFF

SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = OFF;

 

3. event scheduler 생성

CREATE
    [DEFINER = user]
    EVENT
    [IF NOT EXISTS]
    event_name
    ON SCHEDULE schedule # 해당 명령을 수행하거나 반복할 시간 및 기간 
    [ON COMPLETION [NOT] PRESERVE]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'string']	# 해당 이벤트에 대한 설명
    DO event_body;	# 수행할 명령
    
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}

 

  • 특정 시간에 명령을 1회만 실행하도록 하려면 AT timestamp 사용. 
    • ex. ON SCHEDULE AT '2020-08-28 00:00:00'
  • 명령을 반복 실행하려면 EVERY interval을 사용
    • ex. ON SCHEDULE EVERY 1 DAY
  • STARTS, ENDS를 사용하여 시작일과 종료일을 지정할 수 있다.
    • ex. ON SCHEDULE EVERY 1 DAT STARTS '2018-01-01 00:00:00' ENDS '2020-01-01 00:00:00'
  • ON COMPLETE NOT PRESERVE ENABLE
    • 해당 설정은 이벤트를 수행 후 삭제 여부를 지정한다.
    • 이벤트 수행 후, 이벤트를 삭제하지 않는다면 ON COMPLETION PRESERVE ENABLE

4. event 목록 확인

SELECT * FROM information_schema.events;

 

5. 이벤트 삭제

DROP EVENT 이벤트이름;

 

6. 이벤트 수정하기

ALTER
    [DEFINER = user]
    EVENT event_name
    [ON SCHEDULE schedule]
    [ON COMPLETION [NOT] PRESERVE]
    [RENAME TO new_event_name]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'string']
    [DO event_body]

 

참조 URL 

1. https://miniweb4u.tistory.com/91

2. https://web-inf.tistory.com/18

3. https://dev.mysql.com/doc/refman/8.0/en/alter-event.html

4. https://dev.mysql.com/doc/refman/8.0/en/create-event.html

5. https://dev.mysql.com/doc/refman/8.0/en/alter-event.html

 

'Database' 카테고리의 다른 글

[MYSQL ] DDL  (0) 2020.08.29
Delimiter 란?  (0) 2020.08.28
SQL 문  (0) 2020.07.09
SQL(Structured Query Language)이란?  (0) 2020.07.09
AUTO_INCREMENT 초기화 방법  (0) 2020.06.30
    'Database' 카테고리의 다른 글
    • [MYSQL ] DDL
    • Delimiter 란?
    • SQL 문
    • SQL(Structured Query Language)이란?
    길민호(ethan.mino)
    길민호(ethan.mino)
    💻 호기심 많은 서버 개발자 길민호입니다.

    티스토리툴바