SHOW RELAYLOG EVENTS
[IN 'log_name']
[FROM pos]
[LIMIT [offset,] row_count]
[channel_option]
channel_option:
FOR CHANNEL channel
レプリカのリレーログ内のイベントを表示します。 '
を指定しない場合は、最初のリレーログが表示されます。 このステートメントはソースには影響しません。 log_name
'SHOW RELAYLOG EVENTS
には、REPLICATION SLAVE
権限が必要です。
LIMIT
句の構文は、SELECT
ステートメントの場合と同じです。 セクション13.2.10「SELECT ステートメント」を参照してください。
LIMIT
句を指定せずに SHOW RELAYLOG EVENTS
を発行すると、リレーログの完全な内容 (レプリカによって受信されたデータを変更するすべてのステートメントを含む) がサーバーからクライアントに返されるため、非常に時間のかかるリソース消費プロセスが開始される可能性があります。
オプションの FOR CHANNEL
句を使用すると、ステートメントが適用されるレプリケーションチャネルの名前を指定できます。 channel
FOR CHANNEL
句を指定すると、特定のレプリケーションチャネルにステートメントが適用されます。 チャネルが指定されておらず、追加のチャネルが存在しない場合、ステートメントはデフォルトチャネルに適用されます。
channel
複数のレプリケーションチャネルを使用する場合、SHOW RELAYLOG EVENTS
ステートメントに FOR CHANNEL
句を使用して定義されたチャネルがないと、エラーが生成されます。 詳しくはセクション17.2.2「レプリケーションチャネル」をご覧ください。
channel
SHOW RELAYLOG EVENTS
では、リレーログ内のイベントごとに次のフィールドが表示されます:
-
Log_name
リストされるファイルの名前。
-
Pos
イベントが発生する位置。
-
Event_type
イベントタイプを説明する識別子。
-
Server_id
イベントが発生したサーバーのサーバー ID。
-
End_log_pos
ソースバイナリログ内のこのイベントの
End_log_pos
の値。 -
Info
イベントタイプの詳細情報。 この情報の形式は、イベントタイプによって異なります。
圧縮されたトランザクションペイロードの場合、Transaction_payload_event
は最初に単一のユニットとして印刷されてから解凍され、その内部の各イベントが印刷されます。
SHOW RELAYLOG EVENTS
からの出力には、ユーザーおよびシステム変数の設定に関連した一部のイベントが含まれていません。 リレーログ内のイベントを完全に取得するには、mysqlbinlog を使用します。