• 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. 리플리케이션
  • 1. Replication 구성
    1. Replication 설정 방법
    2. Replication Formats
    3. 글로벌 트랜잭션 식별자를 사용하여 복제
    4. Replication 및 바이너리 Logging 옵션 과 변수
    5. 일반적인 Replication 관리 작업
    1. Replication 상태 확인
    2. Slave에 Replication 일시 중지
    2. Replication 구현
    3. Replication 솔루션
    4. Replication Notes and Tips
  • 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 새로운 기능

17.1.5.1 Replication 상태 확인

복제 프로세스를 관리 할 때 가장 일반적인 작업은 복제가 실행 중인지 및 슬레이브와 마스터 사이에 오류가 없는지 확인하는 것입니다. 이 때문에 주요 문은 SHOW SLAVE STATUS 에서 각 슬레이브로 실행해야합니다.

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: master1
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 931
               Relay_Log_File: slave1-relay-bin.000056
                Relay_Log_Pos: 950
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 931
              Relay_Log_Space: 1365
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids: 0

상태 보고서에서 조사해야 할 주요 필드는 다음과 같습니다.

  • Slave_IO_State : 슬레이브의 현재 상태입니다. 자세한 내용은 섹션 8.12.5.6 "리플리케이션 슬레이브 I / O 쓰레드 상태" 및 섹션 8.12.5.7 "리플리케이션 슬레이브 SQL 쓰레드 상태" 를 참조하십시오.

  • Slave_IO_Running : 마스터의 바이너리 로그를 읽어 내기위한 I / O 스레드가 실행 중인지 여부. 복제를 아직 시작하지 않았거나 STOP SLAVE 에서 명시 적으로 중지 한 경우를 제외하고 일반적으로 이것을 Yes 로하는 것이 좋습니다.

  • Slave_SQL_Running : 릴레이 로그에 이벤트를 실행하는 SQL 쓰레드가 실행 중인지 여부. I / O 스레드뿐만 아니라 이것은 일반적으로 Yes 로하는 것이 좋습니다.

  • Last_IO_Error , Last_SQL_Error : 릴레이 로그를 처리 할 때 I / O 및 SQL 스레드에 의해 등록 된 마지막 오류입니다. 이상적으로 이러한 오류가 없다는 공백이어야합니다.

  • Seconds_Behind_Master : 슬레이브 SQL 쓰레드가 마스터 바이너리 로그의 처리보다 몇 초 늦게 있는가? 높은 (또는 증가) 수치는 슬레이브가 마스터에서 이벤트를 적시에 처리 할 수​​ 없음을 나타낼 수 있습니다.

    Seconds_Behind_Master 이 값이 0의 경우는 일반적으로 슬레이브가 마스터를 따라 잡았 음을 의미하는 것으로 해석 할 수 있지만, 이것은 엄밀하게는 올바르지 않은 경우가 몇 가지 있습니다. 예를 들어, 마스터와 슬레이브 간의 네트워크 연결이 끊어 졌더라도 슬레이브 I / O 쓰레드가 아직이를 통지되지 않습니다 때, 즉 slave_net_timeout 이 아직 경과하지 않은 경우에 이러한 문제가 발생할 수 있습니다.

    Seconds_Behind_Master 과도 값이 상황을 ​​정확히 반영하지 않는 경우도 있습니다. 슬레이브 SQL 쓰레드가 I / O를 따라 잡기는 Seconds_Behind_Master 는 0을 표시하지만, 슬레이브 I / O 쓰레드가 아직 새로운 이벤트를 대기하는 경우 Seconds_Behind_Master 는 SQL 쓰레드가 새로운 이벤트의 실행을 종료 까지 큰 값을 나타낼 수 있습니다. 이것은 특히 이벤트의 타임 스탬프가 오래된 경우에 발생할 수 있습니다. 그런 경우 비교적 짧은 기간에 몇 번 SHOW SLAVE STATUS 실행하면이 값이 0으로 비교적 큰 값 사이를 앞뒤로 반복하여 변화하는 것을 볼 수 있습니다.

필드의 몇 쌍은 슬레이브가 마스터 바이너리 로그에서 이벤트를 읽고 릴레이 로그 그들을 처리 할 때의 진척 상황에 대한 정보를 제공합니다.

  • ( Master_Log_file , Read_Master_Log_Pos ) : 슬레이브 I / O thread가 마스터 바이너리 로그에서 얼마나 떨어져 이벤트를 읽은 여부를 나타내는 로그의 좌표.

  • ( Relay_Master_Log_File , Exec_Master_Log_Pos ) : 슬레이브 SQL 쓰레드가 마스터 바이너리 로그로부터받은 이벤트를 얼마나 떨어져 실행했는지를 나타내는 로그의 좌표.

  • ( Relay_Log_File , Relay_Log_Pos ) : 슬레이브 SQL 쓰레드가 슬레이브 릴레이 로그를 얼마나 떨어져 실행했는지를 나타내는 릴레이 로그의 좌표. 이들은 위의 좌표에 대응 합니다만, 마스터 바이너리 로그 좌표가 아닌 슬레이브 릴레이 로그 좌표로 표현됩니다.

마스터는 연결된 슬레이브의 상태를 SHOW PROCESSLIST 를 사용하여 확인하여 실행중인 프로세스의 목록을 확인할 수 있습니다. 슬레이브 연결에서는 Command 필드에 Binlog Dump 수 있습니다.

mysql> SHOW PROCESSLIST \G;
*************************** 4. row ***************************
     Id: 10
   User: root
   Host: slave1:58371
     db: NULL
Command: Binlog Dump
   Time: 777
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL

복제 프로세스를 실행하는 것은 노예이기 때문에이 보고서에서 사용할 수있는 정보는 거의 없습니다.

--report-host 옵션에서 시작되어 마스터에 연결되어있는 슬레이브의 경우는 마스터에서 SHOW SLAVE HOSTS 명령문은 슬레이브에 대한 기본 정보를 보여줍니다. 출력은 슬레이브 서버의 ID, --report-host 옵션 값, 연결되는 포트 마스터 ID가 포함됩니다.

mysql> SHOW SLAVE HOSTS;
+-----------+--------+------+-------------------+-----------+
| Server_id | Host   | Port | Rpl_recovery_rank | Master_id |
+-----------+--------+------+-------------------+-----------+
|        10 | slave1 | 3306 |                 0 |         1 |
+-----------+--------+------+-------------------+-----------+
1 row in set (0.00 sec)


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