• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 1. Stored Programs 정의
    2. 스토어드 루틴 (프로시저 및 함수)의 사용
    3. 트리거 사용
    4. Event Scheduler 사용
    1. Event Scheduler 개요
    2. Event Schedule 구성
    3. Event 구문
    4. Event Metadata
    5. Event Scheduler Status
    6. Event Scheduler와 MySQL권한
    5. Views 사용
    6. Stored Programs 및 Views 액세스 제어
    7. Stored Programs의 Binary Logging
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

20.4.2 Event Schedule 구성

이벤트는 특별한 이벤트 스케줄러 스레드에서 실행됩니다. 이벤트 스케줄러라고 부르는 경우 실제로는이 스레드를 가리 킵니다. 실행중인 이벤트 스케줄러 스레드와 현재의 상태는 다음의 설명에서와 같이 PROCESS 권한을 보유한 사용자가 SHOW PROCESSLIST 의 출력에서 확인할 수 있습니다.

event_scheduler 글로벌 시스템 변수는 이벤트 스케줄러가 서버에서 유효하며 실행 여부가 결정됩니다. 이것은 다음의 세 가지 값 중 하나를 가지고 각각 다음에 설명하도록 이벤트 일정 설정에 영향을줍니다.

  • OFF : 이벤트 스케줄러가 중지되어 있습니다. 이벤트 스케줄러 스레드가 실행되지 않고, SHOW PROCESSLIST 의 출력에 나타나지 않고, 예약 된 이벤트가 실행되지 않습니다. OFF 가 event_scheduler 의 기본값입니다.

    이벤트 스케줄러가 중지 된 경우 ( event_scheduler 가 OFF 입니다) event_scheduler 값을 ON 으로 설정하여 시작할 수 있습니다. (다음 항목을 참조하십시오.)

  • ON : 이벤트 스케줄러가 시작되고 이벤트 스케줄러 스레드가 모든 예약 된 이벤트를 실행하고 있습니다.

    이벤트 스케줄러가 ON 이면 이벤트 스케줄러 스레드는 데몬 프로세스로 SHOW PROCESSLIST 의 출력에 나열되어 그 상태는 다음과 같이 표시됩니다.

    mysql> SHOW PROCESSLIST\G
    *************************** 1. row ***************************
         Id: 1
       User: root
       Host: localhost
         db: NULL
    Command: Query
       Time: 0
      State: NULL
       Info: show processlist
    *************************** 2. row ***************************
         Id: 2
       User: event_scheduler
       Host: localhost
         db: NULL
    Command: Daemon
       Time: 3
      State: Waiting for next activation
       Info: NULL
    2 rows in set (0.00 sec)
    

    이벤트 예약은 event_scheduler 값을 OFF 로 설정하여 중지 할 수 있습니다.

  • DISABLED :이 값은 이벤트 스케줄러를 동작하지 않도록합니다. 이벤트 스케줄러가 DISABLED 의 경우 이벤트 스케줄러 스레드는 실행하지 않습니다 (또한 SHOW PROCESSLIST 의 출력에 표시되지 않습니다.) 또한 이벤트 스케줄러의 상태는 런타임에 변경할 수 없습니다.

이벤트 스케줄러의 상태가 DISABLED 로 설정되지 않은 경우 ( SET 를 사용하여) event_scheduler 의 ON 과 OFF 를 전환 할 수 있습니다. 이 변수를 설정하면 OFF 로 0 을 ON 에 1 을 사용할 수 있습니다. 따라서 mysql 클라이언트에서 다음 4 가지 방법 문을 사용하여 이벤트 스케줄러를 켤 수 있습니다.

SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

마찬가지로, 다음의 4 가지 방법 문을 사용하여 이벤트 스케줄러를 취소 할 수 있습니다.

SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;

ON 과 OFF 에 해당하는 숫자가 있습니다 만, SELECT 또는 SHOW VARIABLES 에 의해 event_scheduler 에 표시되는 값은 항상 OFF , ON 또는 DISABLED 중 하나입니다. DISABLED 에 해당하는 수치는 아닙니다. 따라서이 변수를 설정할 때, ON 과 OFF 보통 1 과 0 보다 우선합니다.

전역 변수로 지정하지 event_scheduler 을 설정하려고하면 오류가 발생합니다.

mysql< SET @@event_scheduler = OFF;
ERROR 1229 (HY000): Variable 'event_scheduler' is a GLOBAL
variable and should be set with SET GLOBAL
중요

이벤트 스케줄러를 DISABLED 로 설정할 수는 서버를 시작할 때뿐입니다. event_scheduler 가 ON 또는 OFF 의 경우 런타임에이를 DISABLED 로 설정할 수 없습니다. 또한 이벤트 스케줄러가 시작할 때 DISABLED 로 설정되어있는 경우 런타임에 event_scheduler 의 값으로 변경할 수 없습니다.

이벤트 스케줄러를 해제하려면 다음 두 가지 방법 중 하나를 사용합니다.

  • 서버를 시작할 때 명령 행 옵션으로

    --event-scheduler=DISABLED
    
  • 서버 구성 파일 (Windows 시스템에서 my.cnf 또는 my.ini )에서 서버가 읽을 부분 (예를 들어, [mysqld] 섹션)에 다음 행을 포함합니다.

    event_scheduler=DISABLED
    

이벤트 스케줄러를 사용하려면 필요에 따라 --event-scheduler=DISABLED 명령 행 옵션을 사용하지 않고 서버를 다시 시작하거나 서버 구성 파일 event-scheduler=DISABLED 를 포함한 행을 삭제 또는 주석 한 후에 서버를 다시 시작합니다. 또는 서버 시작시 DISABLED 값 대신 ON (또는 1 ) 또는 OFF (또는 0 )를 사용할 수 있습니다.

참고

event_scheduler 가 DISABLED 로 설정되어있는 경우, 이벤트 조작 문을 실행할 수 있습니다. 이러한 경우에는 경고도 오류가 생성되지 않습니다 (문 자체가 유효하다고합니다). 그러나이 변수를 ON (또는 1 )로 설정 될 때까지 예약 된 이벤트가 실행되지 않습니다. 이것이 완료되면 이벤트 스케줄러 스레드는 예약 조건이 충족되는 모든 이벤트를 실행합니다.

--skip-grant-tables 옵션을 사용하여 MySQL Server를 시작하면 event_scheduler 가 DISABLED 로 설정되어 명령 행이나 my.cnf 또는 my.ini 파일에 설정된 다른 모든 값을 재정의합니다 ( Bug # 26807).

이벤트의 생성, 수정 또는 삭제하는 데 사용되는 SQL 문은 섹션 20.4.3 "이벤트 구문" 을 참조하십시오.

MySQL 5.6은 INFORMATION_SCHEMA 데이터베이스 EVENTS 테이블을 제공합니다. 이 테이블은 서버에 정의 된 예약 된 이벤트에 대한 정보를 얻기 위해 쿼리 할 수​​ 있습니다. 자세한 내용은 섹션 20.4.4 "이벤트 메타 데이터" 및 섹션 21.7 "INFORMATION_SCHEMA EVENTS 테이블" 을 참조하십시오.

이벤트 예약 및 MySQL 권한 시스템에 대한 자세한 내용은 섹션 20.4.6 "이벤트 스케줄러와 MySQL 권한" 을 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved