MySQL 8.0 リファレンスマニュアル


17.1.5.8 マルチソースレプリケーションの監視

レプリケーションチャネルのステータスを監視するには、次のオプションがあります:

  • レプリケーション「パフォーマンススキーマ」テーブルの使用。 これらのテーブルの最初のカラムは Channel_Name です。 これにより、Channel_Name に基づく複雑なクエリーをキーとして記述できます。 セクション27.12.11「パフォーマンススキーマレプリケーションテーブル」を参照してください。

  • SHOW REPLICA | SLAVE STATUS FOR CHANNEL channel の使用。 デフォルトでは、FOR CHANNEL channel 句を使用しない場合、このステートメントはすべてのチャネルのレプリカステータスをチャネルごとに 1 行ずつ表示します。 識別子 Channel_name が結果セットのカラムとして追加されます。 FOR CHANNEL channel 句が指定されている場合、結果には名前付きレプリケーションチャネルのステータスのみが表示されます。

注記

SHOW VARIABLES ステートメントは、複数のレプリケーションチャネルでは機能しません。 これらの変数を介して使用可能だった情報は、レプリケーションパフォーマンステーブルに移行されています。 複数のチャネルを含むトポロジで SHOW VARIABLES ステートメントを使用すると、デフォルトチャネルのステータスのみが表示されます。

マルチソースレプリケーションが有効な場合に発行されるエラーコードおよびメッセージは、エラーを生成したチャネルを指定します。

17.1.5.8.1 パフォーマンススキーマテーブルを使用したチャネルの監視

このセクションでは、レプリケーション「パフォーマンススキーマ」テーブルを使用してチャネルを監視する方法について説明します。 すべてのチャネルを監視するか、既存のチャネルのサブセットを監視するかを選択できます。

すべてのチャネルの接続ステータスを監視するには:

mysql> SELECT * FROM replication_connection_status\G;
*************************** 1. row ***************************
CHANNEL_NAME: source_1
GROUP_NAME:
SOURCE_UUID: 046e41f8-a223-11e4-a975-0811960cc264
THREAD_ID: 24
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 046e41f8-a223-11e4-a975-0811960cc264:4-37
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
*************************** 2. row ***************************
CHANNEL_NAME: source_2
GROUP_NAME:
SOURCE_UUID: 7475e474-a223-11e4-a978-0811960cc264
THREAD_ID: 26
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 7475e474-a223-11e4-a978-0811960cc264:4-6
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
2 rows in set (0.00 sec)

前述の出力では、2 つのチャネルが有効になっており、CHANNEL_NAME フィールドで示されているように、これらは source_1 および source_2 と呼ばれます。

CHANNEL_NAME フィールドを追加すると、特定のチャネルの「パフォーマンススキーマ」テーブルをクエリーすることができます。 名前付きチャネルの接続ステータスを監視するには、WHERE CHANNEL_NAME=channel 句を使用します:

mysql> SELECT * FROM replication_connection_status WHERE CHANNEL_NAME='source_1'\G
*************************** 1. row ***************************
CHANNEL_NAME: source_1
GROUP_NAME:
SOURCE_UUID: 046e41f8-a223-11e4-a975-0811960cc264
THREAD_ID: 24
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 046e41f8-a223-11e4-a975-0811960cc264:4-37
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
1 row in set (0.00 sec)

同様に、WHERE CHANNEL_NAME=channel 句を使用して、特定のチャネルの他のレプリケーション「パフォーマンススキーマ」テーブルを監視できます。 詳細は、セクション27.12.11「パフォーマンススキーマレプリケーションテーブル」を参照してください。


関連キーワード:  チャネル, 監視, ソース, テーブル, NAME, ステートメント, ベース, バイナリ, GTID, 構成