• 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 서버관리
  • 1. MySQL Server
    1. 서버 옵션 및 변수 설명
    2. 서버 구성의 기본값
    3. 서버 명령 옵션
    4. 서버 시스템 변수
    5. 시스템 변수 사용
    6. 서버 상태 변수
    7. 서버 SQL 모드
    8. 서버 플러그인
    9. IPv6 지원
    10. 서버측 도움말
    11. 신호에 대한 서버 응답
    12. 서버 셧다운 프로세스
    2. MySQL Server 로그
    3. 하나의 시스템에서 여러 MySQL 인스턴스 실행
    4. DTrace를 사용하여 mysqld 추적
  • 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
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

5.1.12 종료 프로세스

서버 종료 프로세스는 다음과 같이 실행됩니다.

  1. 종료 프로세스가 시작됩니다.

    이것은 여러 가지 방법으로 시작할 수 있습니다. 예를 들어, SHUTDOWN 권한이있는 사용자는 mysqladmin shutdown 명령을 실행할 수 있습니다. mysqladmin은 MySQL이 지원되는 모든 플랫폼에서 사용할 수 있습니다. 운영 체제에 고유 외의 종료 시작 방식도 사용 가능하며, Unix에서는 서버가 SIGTERM 신호를 받으면 서버가 종료됩니다. Windows에서 서비스로 실행중인 서버는 서비스 관리자에서 종료를 지시되면 종료합니다.

  2. 서버는 필요에 따라 종료 스레드를 만듭니다.

    종료가 시작 된 방법에 따라 종료 프로세스를 처리하기위한 스레드를 서버가 만들 수 있습니다. 종료가 클라이언트에 의해 요청 된 경우 종료 스레드가 생성됩니다. 종료 SIGTERM 를받은 것에 의한 것 인 경우 신호 스레드 자체가 종료를 처리하거나 처리를 위해 별도의 스레드를 만들 수 있습니다. 서버가 종료 스레드를 만들려고했지만 작성할 수없는 경우 (메모리가 부족한 경우 등), 진단 메시지가 발행되고 오류 로그에 표시됩니다.

     Error : Can not create thread to kill server
    
  3. 서버는 새로운 연결 승인을 중지합니다.

    종료하는 동안 새로운 활동이 시작되는 것을 방지하기 위해 서버는 일반적으로 연결을 listen하는 네트워크 인터페이스의 핸들러를 닫고 새 클라이언트 연결 승인을 중지합니다. 연결은 TCP / IP 포트, Unix 소켓 파일, Windows 명명 된 파이프 및 Windows의 공유 메모리가 있습니다.

  4. 서버는 현재 활동을 종료합니다.

    클라이언트 연결에 연관된 각 스레드에 대해 서버는 클라이언트 연결을 끊고 스레드 종료로 표시합니다. 스레드는 이러한 마크를 붙인 것이 통지되면 종료합니다. 유휴 연결 스레드는 즉시 종료합니다. 문을 현재 처리중인 스레드는 상태를 정기적으로 점검하기 위해 종료하는 데 시간이 걸립니다. 스레드 종료에 대한 추가 정보 특히 MyISAM 테이블에서 강제 종료 된 REPAIR TABLE 또는 OPTIMIZE TABLE 조작에 대한 지시 사항은 섹션 13.7.6.4 "KILL"장 을 참조하십시오.

    열려있는 트랜잭션이있는 스레드는 트랜잭션이 롤백됩니다. 스레드가 비 트랜잭션 테이블을 업데이트하는 경우 여러 줄 UPDATE 또는 INSERT 등의 작업이 완료되기 전에 종료 할 수 있기 때문에 테이블이 일부 업데이트 된 상태가 될 수 있습니다.

    서버가 마스터 복제 서버의 경우 서버는 현재 연결되어있는 슬레이브에 연결된 스레드를 다른 클라이언트 스레드에 같이 취급합니다. 즉, 각각 강제 종료 표시하고 그 상태를 다음 검사 할 때 종료합니다.

    서버가 슬레이브 복제 서버의 경우, I / O 및 SQL 쓰레드가 활성화되면 클라이언트 스레드에 종료 마크를 붙이기 전에이를 중지합니다. SQL 스레드 (복제 문제를 일으키는 것을 방지하기 위해) 현재의 문을 완료 할 수 있으며, 그 후에 종료합니다. SQL 쓰레드가이 시점에서 트랜잭션의 중간 인 경우, 서버는 현재 복제 이벤트 그룹 (있는 경우)가 실행을 완료하거나 사용자가 KILL QUERY 또는 KILL CONNECTION 문을 실행할 때까지 기다립니다. 섹션 13.4.2.6 "STOP SLAVE 구문" 을 참조하십시오. 비 트랜잭션 문은 롤백 할 수 없기 때문에 충돌에 대한 안전성을 가진 복제를 보장하려면 트랜잭션 테이블 만 사용하십시오.

    참고

    노예의 충돌에 대한 안전성을 보장하려면 --relay-log-recovery 를 사용하여 슬레이브을 수행 할 수 있어야합니다.

    섹션 17.2.2 "복제 릴레이 및 상태 로그" 를 참조하십시오.

  5. 서버는 종료하거나 스토리지 엔진을 닫습니다.

    이 단계에서 서버는 테이블 캐시를 플러시하고 열려있는 모든 테이블을 닫습니다.

    각 스토리지 엔진은 관리 테이블에 필요한 모든 작업을 수행합니다. InnoDB 버퍼 풀을 디스크에 플러시 ( innodb_fast_shutdown 가 2 인 경우를 제외하고) 현재 LSN을 테이블 스페이스에 기록한 자체의 내부 스레드를 종료합니다. MyISAM 테이블의 보류중인 인덱스 쓰기를 플러시합니다.

  6. 서버가 종료됩니다.


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