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


5.6.7.12 クローンシステム変数

このセクションでは、クローンプラグインの操作を制御するシステム変数について説明します。 起動時に指定された値が正しくない場合、クローンプラグインが正しく初期化されず、サーバーがロードしない可能性があります。 この場合、サーバーは他のクローン設定を認識しないため、エラーメッセージを生成することもあります。

各システム変数にはデフォルト値があります。 システム変数は、コマンド行のオプションを使用するか、オプションファイルでサーバー起動時に設定できます。 これらは実行時に SET ステートメントを使用して動的に変更できます。これにより、サーバーを停止して再起動しなくても、サーバーの操作を変更できます。

グローバルシステム変数のランタイム値を設定するには、通常、SYSTEM_VARIABLES_ADMIN 権限 (または非推奨の SUPER 権限) が必要です。 詳細は、セクション5.1.9.1「システム変数権限」を参照してください。

クローン変数は、クローニング操作が実行される受信者 MySQL サーバーインスタンスで構成されます。

  • clone_autotune_concurrency

    コマンド行形式 --clone-autotune-concurrency
    導入 8.0.17
    システム変数 clone_autotune_concurrency
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Boolean
    デフォルト値 ON

    clone_autotune_concurrency が有効になっている場合 (デフォルト)、リモートクローニング操作用の追加スレッドが動的に生成され、データ転送速度が最適化されます。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用できます。

    クローニング操作中、スレッド数は現在のスレッド数の倍精度のターゲットに対して増分的に増加します。 データ転送速度への影響は、増分ごとに評価されます。 プロセスは、次のルールに従って続行または停止します:

    • 増分増加によってデータ転送速度が 5% を超えると、プロセスは停止します。

    • ターゲットの 25% に達した後で 5% 以上の改善があった場合、プロセスは続行されます。 それ以外の場合、プロセスは停止します。

    • ターゲットの 50% に達した後で 10% 以上の改善があった場合、プロセスは続行されます。 それ以外の場合、プロセスは停止します。

    • ターゲットへの到達後に 25% 以上の改善があった場合、プロセスは現在のスレッド数の倍精度の新しいターゲットに進みます。 それ以外の場合、プロセスは停止します。

    自動チューニングプロセスでは、スレッド数の減少はサポートされていません。

    clone_max_concurrency 変数は、生成できるスレッドの最大数を定義します。

    clone_autotune_concurrency が無効になっている場合、clone_max_concurrency はリモートクローニング操作用に生成されるスレッドの数を定義します。

  • clone_buffer_size

    コマンド行形式 --clone-buffer-size
    導入 8.0.17
    システム変数 clone_buffer_size
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Integer
    デフォルト値 4194304
    最小値 1048576
    最大値 268435456

    ローカルクローニング操作中にデータを転送するときに使用される中間バッファのサイズを定義します。 この設定は、リモートクローニング操作には適用されません。 デフォルト値は 4 メビバイト (MiB) です。 バッファサイズを大きくすると、I/O デバイスドライバでデータをパラレルにフェッチできるため、クローニングのパフォーマンスを向上させることができます。

  • clone_ddl_timeout

    コマンド行形式 --clone-ddl-timeout
    導入 8.0.17
    システム変数 clone_ddl_timeout
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Integer
    デフォルト値 300
    最小値 0
    最大値 2592000

    クローニング操作の実行時にバックアップロックを待機する時間 (秒)。 この設定は、ドナーと受信者の両方の MySQL サーバーインスタンスに適用されます。 クローニング操作は DDL 操作と同時に実行できません。 ドナーおよび受信者の MySQL サーバーインスタンスでは、バックアップロックが必要です。 クローニング操作は、現在の DDL 操作が終了するまで待機します。 バックアップロックが取得されると、DDL 操作はクローニング操作が終了するまで待機する必要があります。 値 0 は、クローニング操作でバックアップロックが取得されないことを意味します。 この場合、DDL 操作が同時に試行されると、クローニング操作はエラーで失敗します。

  • clone_enable_compression

    コマンド行形式 --clone-enable-compression
    導入 8.0.17
    システム変数 clone_enable_compression
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Boolean
    デフォルト値 OFF

    リモートクローニング操作中のネットワークレイヤーでのデータ圧縮を有効にします。 圧縮により、ネットワーク帯域幅が節約されますが、CPU のコストがかかります。 圧縮を有効にすると、データ転送速度が向上する場合があります。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用されます。

  • clone_max_concurrency

    コマンド行形式 --clone-max-concurrency
    導入 8.0.17
    システム変数 clone_max_concurrency
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Integer
    デフォルト値 16
    最小値 1
    最大値 128

    リモートクローニング操作の最大同時スレッド数を定義します。 デフォルト値は 16 です。 スレッドの数が多いほどクローニングのパフォーマンスは向上しますが、同時に許可されるクライアント接続の数も減少するため、既存のクライアント接続のパフォーマンスに影響する可能性があります。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用されます。

    clone_autotune_concurrency が有効な場合 (デフォルト)、clone_max_concurrency はリモートクローニング操作用に動的に生成できるスレッドの最大数です。 clone_autotune_concurrency が無効になっている場合、clone_max_concurrency はリモートクローニング操作用に生成されるスレッドの数を定義します。

    リモートクローニング操作には、スレッド当たり 1 メビバイト (MiB) の最小データ転送速度をお薦めします。 リモートクローニング操作のデータ転送速度は、clone_max_data_bandwidth 変数によって制御されます。

  • clone_max_data_bandwidth

    コマンド行形式 --clone-max-data-bandwidth
    導入 8.0.17
    システム変数 clone_max_data_bandwidth
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Integer
    デフォルト値 0
    最小値 0
    最大値 1048576

    リモートクローニング操作の最大データ転送速度をメビバイト (MiB)/秒で定義します。 この変数は、クローニング操作のパフォーマンスへの影響を管理するのに役立ちます。 制限は、ドナーディスクの I/O 帯域幅が飽和してパフォーマンスに影響を与える場合にのみ設定してください。 値 0 は、クローニング操作を可能なかぎり高いデータ転送速度で実行できる unlimited を意味します。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用できます。

    最小データ転送速度は、スレッド当たり 1 MiB/秒です。 たとえば、8 つのスレッドがある場合、最小転送速度は 8 MiB/秒です。 clone_max_concurrency 変数は、リモートクローニング操作用に生成されるスレッドの最大数を制御します。

    clone_max_data_bandwidth で指定されたリクエストされたデータ転送速度は、performance_schema.clone_progress テーブルの DATA_SPEED カラムで報告された実際のデータ転送速度とは異なる場合があります。 クローニング操作が目的のデータ転送速度に達しておらず、使用可能な帯域幅がある場合は、受信者およびドナーでの I/O の使用状況を確認します。 使用率の低い帯域幅がある場合、I/O が次にボトルネックになる可能性があります。

  • clone_max_network_bandwidth

    コマンド行形式 --clone-max-network-bandwidth
    導入 8.0.17
    システム変数 clone_max_network_bandwidth
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    Integer
    デフォルト値 0
    最小値 0
    最大値 1048576

    リモートクローニング操作の最大およそのネットワーク転送速度をメビバイト (MiB)/秒で指定します。 この変数は、ネットワーク帯域幅に対するクローニング操作のパフォーマンスへの影響を管理するために使用できます。 ネットワーク帯域幅が飽和状態で、ドナーインスタンスのパフォーマンスに影響する場合にのみ設定する必要があります。 値 0 は、ネットワーク経由で可能なかぎり高いデータ転送速度でクローニングできる unlimited を意味し、最高のパフォーマンスを提供します。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用できます。

  • clone_ssl_ca

    コマンド行形式 --clone-ssl-ca=file_name
    導入 8.0.14
    システム変数 clone_ssl_ca
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    ファイル名
    デフォルト値 empty string

    認証局 (CA) ファイルへのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。

  • clone_ssl_cert

    コマンド行形式 --clone-ssl-cert=file_name
    導入 8.0.14
    システム変数 clone_ssl_cert
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    ファイル名
    デフォルト値 empty string

    公開キー証明書へのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。

  • clone_ssl_key

    コマンド行形式 --clone-ssl-key=file_name
    導入 8.0.14
    システム変数 clone_ssl_key
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    ファイル名
    デフォルト値 empty string

    秘密キーファイルのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。

  • clone_valid_donor_list

    コマンド行形式 --clone-valid-donor-list=value
    導入 8.0.17
    システム変数 clone_valid_donor_list
    スコープ グローバル
    動的 はい
    SET_VAR ヒントの適用 いいえ
    文字列
    デフォルト値 NULL

    リモートクローニング操作の有効なドナーホストアドレスを定義します。 この設定は、受信者の MySQL サーバーインスタンスに適用されます。 カンマ区切りの値リストは、次の形式で使用できます: HOST1:PORT1,HOST2:PORT2,HOST3:PORT3。 スペースは使用できません。

    clone_valid_donor_list 変数は、クローンデータのソースを制御することで、セキュリティレイヤーを追加します。 clone_valid_donor_list の構成に必要な権限は、リモートクローニング操作の実行に必要な権限とは異なります。リモートクローニング操作では、これらの権限を別のロールに割り当てることができます。 clone_valid_donor_list を構成するには SYSTEM_VARIABLES_ADMIN 権限が必要ですが、リモートクローニング操作を実行するには CLONE_ADMIN 権限が必要です。

    インターネットプロトコルバージョン 6 (IPv6) アドレス形式はサポートされていません。 インターネットプロトコルバージョン 6 (IPv6) アドレス形式はサポートされていません。 かわりに、IPv6 アドレスのエイリアスを使用できます。 IPv4 アドレスはそのまま使用できます。


関連キーワード:  操作, 変数, サーバー, 形式, リモート, 適用, 設定, 構成, インスタンス, concurrency