티스토리 뷰

Data Enginnering /Mysql

MySQL 레플리케이션 상태 확인

내일도이렇게 2020. 9. 27. 20:37

레플리케이션 상태를 확인하는데 사용하는 SHOW SLAVE STATUS 명령어 사용

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: abc-rds.criminalip.com
                  Master_User: repl_user
                  Master_Port: 10000
                Connect_Retry: 60
              Master_Log_File: mysql-bin.001192
          Read_Master_Log_Pos: 496284367
               Relay_Log_File: HQ-bbb-DBSLAVE-relay-bin.007038
                Relay_Log_Pos: 74625473
        Relay_Master_Log_File: mysql-bin.001192
             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: 496284367
              Relay_Log_Space: 179741892
              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:
             Master_Server_Id: 10001
                  Master_UUID: cacffe85-aadb-11ea-9570-fa163eff82a4
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
         Replicate_Rewrite_DB:
                 Channel_Name:
           Master_TLS_Version:

 

Slave_IO_Running 

   IO 스레드의 동작 상태 

 

Master_Host

 슬레이브 DB 가 접속한 마스터 DB 서버의 호스트명 또는 IP 주소

 

Master_User 

  슬레이브 DB가 마스터 DB로 접속한 계정의 사용자명  

 

Master_Port 

  슬레이브 DB가 마스터 DB 로 접속한 포트

 

Connect_Retry 

   접속이 끊어졌을 때 재시도하는 시간, 초 단위로 설정. 기본값은 60 초 

 

Master_Log_File

   IO 스레드가 현재 읽고 있는 마스터 DB의 바이너리 로그 파일명 

 

Read_Master_Log_Pos 

 IO 스레드가 현재 읽고 있는 마스터 DB의 바이너리 로그 파일의 로그 포지션 

 

Relay_Log_File 

  SQL 스레드가 최종적으로 읽고 실행한 슬레이브 DB 의 릴레이 로그 파일명 

 

Relay_Log_Pos

   SQL 스레드가 마지막으로 읽고 실행한 슬레이브 DB의 릴레이 로그 파일의 포지션 

 

Relay_Master_Log_File 

  Relay_Log_File 값으로 나타나는 릴레이 로그 파일과 연관된 마스터 DB의 바이너리 로그 파일명. 

 

Slave_IO_Running 

   IO 스레드가 실행되고 마스터 DB로 정상적으로 접속됐는지 나타냄. 

 

Slave_SQL_Running 

  SQL 스레드가 시작됐는지 여부 ,yes 또는 no 

 

Replicate_Do_DB 

  옵션(--replicate-do-db) 으로 명시된 MySQL 의 데이터베이스 리스트

 

Replicate_Ignore_DB 

  옵션(--replicate-ignore-db) 으로 명시된 MySQL 의 데이터베이스 리스트  

 

Last_Errno 

  Last_SQL_Errno 칼럼과 같은 값.

 

Last_Error 

   Last_SQL_Error 칼람과 같은 값, RESET MASTER, RESET SLAVE 명령으로 해당 칼람의 값을 초기화 할 수 있다.

 SQL 스레드가 에러를 전달받았을 때 에러를 먼저 보고하고 SQL 스레드를 멈춘다 .

 SHOW SLAVE STATUS 명령을 실행했을 때 Slave_SQL_Running 값이 YES 라고 해도 Last_SQL_Errono 값이 0 이 아닌 것은 바로 이런 이유 

 

Skip_Counter 

  시스템 변수인 sql_slave_skip_counter 의 현재 값을 나타낸다.

 

Exec_Master_Log_Pos

  SQL 스레드가 읽고 처리한 현재 마스터 DB의 바이너리 로그 파일의 포지션으로 다음 번에 수행될 트랜잭션이나 이벤트 시작을 표시 , 새로운 슬레이브 연결을 시작할 때 CHANGE MASTER TO 구문에서 MASTER_LOG_POS 옵션에 값을 지정할 경우 새로운 슬레이브는 해당 지점부터 읽게 된다. 

 

Relay_Log_Space

  존재하는 모든 릴레이 로그 파일의 크기를 합친 값

 

Until_Condition 

  마스터 DB의 바이너리 로그 파일이나 슬레이브 DB의 릴레이 로그 파일의 특정 부분까지만 실행하고자 할 때 이 옵션을 사용.

   None - UNTIL 절이 명시되지 않을 때 

   Master - 슬레이브 DB 가 마스터 DB의 바이너리 로그 파일을 설정했을 때 

   Relay - 슬레이브 DB가 릴레이 로그 파일을 설정했을 때 

 

Until_Log_File, Until_Log_Pos

  SQL 스레드가 실행하다 중단시킬 로그파일의 이름과 포지션 값을 나타낸다.

 

Master_SSL~~

슬레이브 DB가 마스터 DB로 연결할 때 사용되는 SSL 관련 파라미터를 보여준다 .

 

Seconds_Behind_Master 

 

 슬레이브 DB의 레플리케이션의 속도가 얼마나 느린지 보여주는 필드 . 이 값은 0 이면 레플리케이션이 완료된 것이고 0보다 큰 값이면 레플리케이션할 데이터가 남아 있음을 의미 

 

Last_IO_Errno,Last_IO_Error

  

  가장 최근에 발생한 에러로서 IO 스레드가 멈추게 된 에러 메시지와 에러 번호를 각각 나타냄

 

Last_SQL_Errno,Last_SQL_Error

  

  최근에 SQL 스레드가 멈추게 된 에러 메시지와 에러 번호를 각각 나타냄.

 

Replicate_Ignore_Server_Ids

  

  슬레이브 DB에 CHANGE MASTER TO 구문의 IGNOER_SERVER_IDS 옵션을 사용해 0 개 이상의 마스터 DB로부터 이벤트 실행을 무시하도록 설정할 수 있다. 이때 SERVER_ID 는 각 서버의 시스템 변수 server_id 를 뜻한다. 

 

 Replicate_Ignore_Server_Ids : 3 2 6 9 

  맨 앞의 숫자는 3은 무시되는 마스터 DB의 개수를 의미 ,

     IO 스레드가 동작할 때 지정한 마스터 DB의 server_id는 제외 

 

Master_Server_Id

 마스터 DB의 server_id 시스템 변수 값 

 

Master_UUID

 마스터 DB의 server_uuid 

 

Master_Info_File

  master.info  파일의 위치 

 

SQL_Delay 

  슬레이브 DB가 마스터 DB와의 레플리케이션을 몇 초 지연시킬 것인지를 나타내는 값 

 

SQL_Remaining_Delay

  Slave_SQL_Running_State 가 Waiting until MASTER_DELAY seconds after master executed event 일 때 이 필드는 남은 지연(초) 를 포함 , 그 밖의 경우는 이 필드 값은 NULL 이다. 

 

Slave_SQL_Running_State

  SQL 스레드의 동작 상태 

 

Master_Retry_Count

   만일 슬레이브 DB가 마스터 DB와의 연결이 끊어지면 재접속을 시도하는 횟수 

 

Master_Bind

  슬레이브 DB가 바인딩돼 있는 네트워크 인터페이스 

 

Last_IO_Error_Timestamp

  YYMMDD HH:MM:SS 포맷으로 최근에 발생한 IO에러의 발생 시각을 보여준다.

 

Last_SQL_Error_Timestamp 

  YYMMDD HH:MM:SS 포맷으로 최근에 발생한 SQL 에러의 발생 시각을 보여준다.

 

Retrieved_Gtid_Set 

  슬레이브 DB가 받은 모든 트랜잭션에 상응하는 GTID의 집합. 

 

Executed_Gtid_Set

 바이너리 로그에 작성된 GTID집합 

 

Auto_Position 

  레플리케이션 GTID 를 사용하는 모드에서 오토 포지션 기능을 사용할 경우 이 값은 1, 사용하지 않으면 0 

 

 


Reference

 

DBA를 위한 MySQL 운영 기술 

 

  

'Data Enginnering > Mysql' 카테고리의 다른 글

MySQL - UNION , UNION ALL 차이  (1) 2020.11.20
MySQL - 프로세스 리스트  (0) 2020.11.20
MySQL- 실행 계획 분석 시 주의사항  (0) 2020.07.12
MySQL 인덱스  (0) 2020.05.24
MySQL 아키텍쳐  (0) 2020.04.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함