このセクションでは、クローンプラグインの操作を制御するシステム変数について説明します。 起動時に指定された値が正しくない場合、クローンプラグインが正しく初期化されず、サーバーがロードしない可能性があります。 この場合、サーバーは他のクローン設定を認識しないため、エラーメッセージを生成することもあります。
各システム変数にはデフォルト値があります。 システム変数は、コマンド行のオプションを使用するか、オプションファイルでサーバー起動時に設定できます。 これらは実行時に SET
ステートメントを使用して動的に変更できます。これにより、サーバーを停止して再起動しなくても、サーバーの操作を変更できます。
グローバルシステム変数のランタイム値を設定するには、通常、SYSTEM_VARIABLES_ADMIN
権限 (または非推奨の SUPER
権限) が必要です。 詳細は、セクション5.1.9.1「システム変数権限」を参照してください。
クローン変数は、クローニング操作が実行される受信者 MySQL サーバーインスタンスで構成されます。
-
コマンド行形式 --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
導入 8.0.17 システム変数 clone_buffer_size
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 4194304
最小値 1048576
最大値 268435456
ローカルクローニング操作中にデータを転送するときに使用される中間バッファのサイズを定義します。 この設定は、リモートクローニング操作には適用されません。 デフォルト値は 4 メビバイト (MiB) です。 バッファサイズを大きくすると、I/O デバイスドライバでデータをパラレルにフェッチできるため、クローニングのパフォーマンスを向上させることができます。
-
コマンド行形式 --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
導入 8.0.17 システム変数 clone_enable_compression
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Boolean デフォルト値 OFF
リモートクローニング操作中のネットワークレイヤーでのデータ圧縮を有効にします。 圧縮により、ネットワーク帯域幅が節約されますが、CPU のコストがかかります。 圧縮を有効にすると、データ転送速度が向上する場合があります。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用されます。
-
コマンド行形式 --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
導入 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
導入 8.0.17 システム変数 clone_max_network_bandwidth
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 0
最小値 0
最大値 1048576
リモートクローニング操作の最大およそのネットワーク転送速度をメビバイト (MiB)/秒で指定します。 この変数は、ネットワーク帯域幅に対するクローニング操作のパフォーマンスへの影響を管理するために使用できます。 ネットワーク帯域幅が飽和状態で、ドナーインスタンスのパフォーマンスに影響する場合にのみ設定する必要があります。 値 0 は、ネットワーク経由で可能なかぎり高いデータ転送速度でクローニングできる 「unlimited」 を意味し、最高のパフォーマンスを提供します。 この設定は、受信者の MySQL サーバーインスタンスにのみ適用できます。
-
コマンド行形式 --clone-ssl-ca=file_name
導入 8.0.14 システム変数 clone_ssl_ca
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 ファイル名 デフォルト値 empty string
認証局 (CA) ファイルへのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。
-
コマンド行形式 --clone-ssl-cert=file_name
導入 8.0.14 システム変数 clone_ssl_cert
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 ファイル名 デフォルト値 empty string
公開キー証明書へのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。
-
コマンド行形式 --clone-ssl-key=file_name
導入 8.0.14 システム変数 clone_ssl_key
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 ファイル名 デフォルト値 empty string
秘密キーファイルのパスを指定します。 リモートクローニング操作用に暗号化された接続を構成するために使用します。 この設定は受信者に対して構成され、ドナーへの接続時に使用されます。
-
コマンド行形式 --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 アドレスはそのまま使用できます。