レプリケーション プロセスを管理するときの一般的なタスクとして、レプリケーションが正確に行われ、スレーブとマスタの間でエラーが発生していないかどうかを確認することがあります。
これに対するプライマリのコマンドは、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
1 row in set (0.01 sec)
検査するステータス レポートからのキー フィールド
Slave_IO_State —
スレーブのカレント ステータスを示す。
項5.5.3. 「スレーブ レプリケーションの I/O スレッド状態」 および
項5.5.4. 「スレーブ レプリケーションの SQL スレッド状態」 を参照。
Slave_IO_Running —
マスタのバイナリ ログを読む IO
スレッドが実行されているかどうかを示す。
Slave_SQL_Running — バイナリ
ログのイベントを実行する SQL
スレッドが作動しているかどうかを示す。
Last_Error — リレー
ログを処理したときに最後に登録されたエラーを示す。これがブランクの場合は、エラーがないことを示す。
Seconds_Behind_Master —
スレーブ SQL スレッドがマスタのバイナリ
ログに遅れた時間を示す。この数字が大きい、または上昇している場合は、スレーブがマスタからの大量クエリに対応できないことを示す。
マスタでは、実行プロセスのリストをチェックしてスレーブのステータスを調べることができます。スレーブは
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
ステートメントが接続しているスレーブに関する基本的な情報を示します。
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)
この出力は、スレーブ サーバの ID、
--report-host
オプションの値、接続レポート、マスタ
ID、バイナリ ログ
アップデート受信に関するスレーブの優先順位などを含みます。
