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


13.7.7.32 SHOW RELAYLOG EVENTS ステートメント

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 channel 句を使用して定義されたチャネルがないと、エラーが生成されます。 詳しくはセクション17.2.2「レプリケーションチャネル」をご覧ください。

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 を使用します。


関連キーワード:  ステートメント, CREATE, TABLE, DROP, サブクエリー, SLAVE, EVENTS, イベント, FUNCTION, RELAYLOG