スレーブステータスの確認:
レプリケーションを監視するための最も重要なコマンドは SHOW SLAVE STATUS です。\G 修飾子は出力を縦方向にフォーマットするため、読みやすさが大幅に向上します。
SHOW SLAVE STATUS\G
出力の中から、以下の 2 行を探してください。どちらも Yes の値を持つ必要があります。
Slave_IO_Running: Yes: これは、スレーブがマスターに正常に接続され、バイナリログデータを受信していることを確認します。
Slave_SQL_Running: Yes: これは、スレーブがバイナリログからのイベントを正常に実行していることを確認します。
もう一つの重要なフィールドは Seconds_Behind_Master です。値が 0 であることは、スレーブがマスターと完全に同期していることを示します。
正常なステータスは以下のようになります(一部の値は異なる場合があります)。
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: mysql-master
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 529
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 699
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: 0
...
レプリケートされたデータの検証:
次に、replication_db データベースとそのデータがマスターからコピーされているか確認します。
SHOW DATABASES;
リストに replication_db が表示されるはずです。
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| replication_db |
| sys |
+--------------------+
データベースに切り替えて、messages テーブルをクエリします。
USE replication_db;
SELECT * FROM messages;
マスターに挿入したデータが、スレーブにも存在しているはずです。
+----+------------------------+
| id | content |
+----+------------------------+
| 1 | Hello from the master! |
+----+------------------------+
1 row in set (0.00 sec)
これにより、レプリケーションが正しく機能していることが確認できます。これで MySQL シェルを終了できます。
exit;