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


27.12.11.7 replication_applier_status_by_worker テーブル

このテーブルには、レプリカまたはグループレプリケーショングループメンバーの適用者スレッドによって処理されるトランザクションの詳細が示されます。 シングルスレッドのレプリカの場合、レプリカの単一アプライヤスレッドのデータが表示されます。 マルチスレッドのレプリカの場合、データはアプライヤスレッドごとに個別に表示されます。 マルチスレッドレプリカ上のアプライヤスレッドは、ワーカーと呼ばれることもあります。 レプリカまたはグループレプリケーショングループメンバー上のアプライヤスレッドの数は、シングルスレッドレプリカの場合はゼロに設定される slave_parallel_workers システム変数によって設定されます。 マルチスレッドレプリカには、アプライヤスレッドを管理するためのコーディネータスレッドもあり、このスレッドのステータスは replication_applier_status_by_coordinator テーブルに表示されます。

エラーに関連するカラムに表示されるすべてのエラーコードおよびメッセージは、Server Error Message Reference にリストされているエラー値に対応します。

パフォーマンススキーマが無効になっている場合、ローカルのタイミング情報は収集されないため、適用されるトランザクションの開始タイムスタンプと終了タイムスタンプを示すフィールドはゼロになります。 このテーブルの開始タイムスタンプは、ワーカーが最初のイベントの適用を開始した時間を示し、終了タイムスタンプは、トランザクションの最後のイベントが適用された時間を示します。

START REPLICA | SLAVE ステートメントによってレプリカが再起動されると、APPLYING_TRANSACTION で始まるカラムがリセットされます。 MySQL 8.0.13 より前は、これらのカラムはシングルスレッドモードで動作していたレプリカではリセットされず、マルチスレッドレプリカでのみリセットされていました。

replication_applier_status_by_worker テーブルには、次のカラムがあります:

  • CHANNEL_NAME

    この行が表示しているレプリケーションチャネル。 常にデフォルトのレプリケーションチャネルがあり、さらにレプリケーションチャネルを追加できます。 詳しくはセクション17.2.2「レプリケーションチャネル」をご覧ください。

  • WORKER_ID

    ワーカー識別子 (mysql.slave_worker_info テーブルの id カラムと同じ値)。 STOP REPLICA | SLAVE の後、THREAD_ID カラムは NULL になりますが、WORKER_ID 値は保持されます。

  • THREAD_ID

    ワーカースレッド ID。

  • SERVICE_STATE

    ON (スレッドが存在し、アクティブまたはアイドル状態) または OFF (スレッドは存在しません)。

  • LAST_ERROR_NUMBER, LAST_ERROR_MESSAGE

    ワーカースレッドの停止の原因となった最新のエラーのエラー番号およびエラーメッセージ。 0 のエラー番号および空の文字列のメッセージは、エラーなしを示します LAST_ERROR_MESSAGE 値が空でない場合、エラー値はレプリカエラーログにも表示されます。

    RESET MASTER または RESET REPLICA | SLAVE を発行すると、これらのカラムに表示される値がリセットされます。

  • LAST_ERROR_TIMESTAMP

    最新のワーカーエラーがいつ発生したかを示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • LAST_APPLIED_TRANSACTION

    このワーカーによって適用された最後のトランザクションのグローバルトランザクション ID (GTID)。

  • LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP

    このワーカーによって適用された最後のトランザクションが元のソースでコミットされた時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP

    このワーカーによって適用された最後のトランザクションが即時ソースでコミットされた時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP

    このワーカーが最後に適用されたトランザクションの適用をいつ開始したかを示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP

    このワーカーが最後に適用されたトランザクションの適用を終了した時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • APPLYING_TRANSACTION

    このワーカーが現在適用しているトランザクションのグローバルトランザクション ID (GTID)。

  • APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP

    このワーカーが現在適用しているトランザクションが元のソースでコミットされた時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP

    このワーカーが現在適用しているトランザクションが即時ソースでコミットされた時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • APPLYING_TRANSACTION_START_APPLY_TIMESTAMP

    このワーカーが現在適用されているトランザクションを最初に適用しようとした時間を示す'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。 MySQL 8.0.13 より前は、このタイムスタンプは一時エラーのためにトランザクションが再試行されたときにリフレッシュされたため、トランザクションを適用しようとした最新のタイムスタンプが表示されていました。

  • LAST_APPLIED_TRANSACTION_RETRIES_COUNT

    最初の試行後に最後に適用されたトランザクションがワーカーによって再試行された回数。 最初の試行でトランザクションが適用された場合、この数値はゼロです。

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER

    トランザクションが再試行される原因となった最後の一時エラーのエラー番号。

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE

    トランザクションが再試行される原因となった最後の一時エラーのメッセージテキスト。

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP

    トランザクションが再試行される原因となった最後の一時エラーの'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

  • APPLYING_TRANSACTION_RETRIES_COUNT

    現在適用されているトランザクションがこの時点までに再試行された回数。 最初の試行でトランザクションが適用された場合、この数値はゼロです。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER

    現在のトランザクションが再試行される原因となった最後の一時エラーのエラー番号。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE

    現在のトランザクションが再試行される原因となった最後の一時エラーのメッセージテキスト。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP

    現在のトランザクションが再試行される原因となった最後の一時エラーの'YYYY-MM-DD hh:mm:ss[.fraction]'形式のタイムスタンプ。

replication_applier_status_by_worker テーブルには次のインデックスがあります:

  • 主キー (CHANNEL_NAMEWORKER_ID)

  • (THREAD_ID) のインデックス

次のテーブルに、replication_applier_status_by_worker カラムと SHOW REPLICA | SLAVE STATUS カラムの対応を示します。

replication_applier_status_by_worker カラム SHOW REPLICA | SLAVE STATUS カラム
WORKER_ID なし
THREAD_ID なし
SERVICE_STATE なし
LAST_ERROR_NUMBER Last_SQL_Errno
LAST_ERROR_MESSAGE Last_SQL_Error
LAST_ERROR_TIMESTAMP Last_SQL_Error_Timestamp

関連キーワード:  テーブル, トランザクション, パフォーマンス, スキーマ, 適用, replication, TRANSACTION, エラー, status, applier