重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDBConfiguration / コンフィグレーションファイル

TiDB構成ファイルは、コマンドラインパラメーターよりも多くのオプションをサポートしています。デフォルトの構成ファイルconfig.toml.exampleをダウンロードして、名前をconfig.tomlに変更できます。このドキュメントでは、 コマンドラインオプションに関係のないオプションについてのみ説明します。

split-table

  • テーブルごとに個別のリージョンを作成するかどうかを決定します。
  • デフォルト値: true
  • 多数のテーブル(たとえば、10万を超えるテーブル)を作成する必要がある場合は、 falseに設定することをお勧めします。

token-limit

  • リクエストを同時に実行できるセッションの数。
  • タイプ:整数
  • デフォルト値: 1000
  • 最小値: 1
  • 最大値(64ビットプラットフォーム): 18446744073709551615
  • 最大値(32ビットプラットフォーム): 4294967295

oom-use-tmp-storage

  • 単一のSQLステートメントがシステム変数tidb_mem_quota_queryで指定されたメモリクォータを超えたときに、一部のオペレータの一時ストレージを有効にするかどうかを制御します。
  • デフォルト値: true

tmp-storage-path

  • 単一のSQLステートメントがシステム変数tidb_mem_quota_queryで指定されたメモリー割り当てを超えた場合に、一部のオペレーターの一時記憶域パスを指定します。
  • デフォルト値: <temporary directory of OS>/<OS user ID>_tidb/MC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=/tmp-storageMC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=<host>:<port>/<statusHost>:<statusPort>Base64エンコード結果です。
  • この構成は、 oom-use-tmp-storagetrueの場合にのみ有効になります。

tmp-storage-quota

  • tmp-storage-pathのストレージのクォータを指定します。単位はバイトです。
  • 単一のSQLステートメントが一時ディスクを使用し、TiDBサーバーの一時ディスクの合計ボリュームがこの構成値を超えると、現在のSQL操作がキャンセルされ、 Out of Global Storage Quota!エラーが返されます。
  • この構成の値が0より小さい場合、上記のチェックと制限は適用されません。
  • デフォルト値: -1
  • tmp-storage-pathの残りの使用可能なストレージがtmp-storage-quotaで定義された値よりも小さい場合、TiDBサーバーは起動時にエラーを報告し、終了します。

lease

  • DDLリースのタイムアウト。
  • デフォルト値: 45s
  • 単位:秒

compatible-kill-query

  • KILLステートメントをMySQL互換に設定するかどうかを決定します。
  • デフォルト値: false
  • TiDBでのKILL xxxの動作は、MySQLでの動作とは異なります。 TiDBにはTIDBキーワード、つまりKILL TIDB xxxが必要です。 compatible-kill-querytrueに設定されている場合、 TIDBキーワードは必要ありません。
  • ユーザーがCtrl + Cを押したときのMySQLコマンドラインクライアントのデフォルトの動作は、バックエンドへの新しい接続を作成し、その新しい接続でKILLステートメントを実行することであるため、この区別は重要です。ロードバランサーまたはプロキシが新しい接続を元のセッションとは異なるTiDBサーバーインスタンスに送信した場合、間違ったセッションが終了し、クラスタを使用するアプリケーションが中断される可能性があります。 KILLステートメントで参照している接続が、 KILLステートメントの送信先と同じサーバー上にあることが確実な場合にのみ、 compatible-kill-queryを有効にします。

check-mb4-value-in-utf8

  • utf8mb4文字チェックを有効にするかどうかを決定します。この機能を有効にすると、文字セットがutf8で、 mb4文字がutf8に挿入されると、エラーが返されます。
  • デフォルト値: false

treat-old-version-utf8-as-utf8mb4

  • 古いテーブルのutf8文字セットをutf8mb4として扱うかどうかを決定します。
  • デフォルト値: true

alter-primary-key (非推奨)

  • 主キー制約を列に追加するか、列から削除するかを決定します。
  • デフォルト値: false
  • このデフォルト設定では、主キー制約の追加または削除はサポートされていません。この機能を有効にするには、 alter-primary-keytrueに設定します。ただし、スイッチがオンになる前にテーブルがすでに存在し、その主キー列のデータ型が整数である場合、この構成項目をtrueに設定しても、列から主キーを削除することはできません。

ノート:

この構成アイテムは非推奨になり、現在、値@tidb_enable_clustered_indexINT_ONLYの場合にのみ有効になります。主キーを追加または削除する必要がある場合は、テーブルを作成するときに代わりにNONCLUSTEREDキーワードを使用してください。 CLUSTEREDタイプの主キーの詳細については、 クラスター化されたインデックスを参照してください。

server-version

  • 次の状況でTiDBによって返されるバージョン文字列を変更します。
    • 内蔵のVERSION()機能を使用する場合。
    • TiDBがクライアントへの初期接続を確立し、サーバーのバージョン文字列を含む初期ハンドシェイクパケットを返す場合。詳細については、 MySQL初期ハンドシェイクパケットを参照してください。
  • デフォルト値: ""
  • デフォルトでは、TiDBバージョン文字列の形式は5.7.${mysql_latest_minor_version}-TiDB-${tidb_version}です。

repair-mode

  • 信頼できない修復モードを有効にするかどうかを決定します。 repair-modetrueに設定すると、 repair-table-listの不良テーブルをロードできません。
  • デフォルト値: false
  • repair構文はデフォルトではサポートされていません。これは、TiDBの起動時にすべてのテーブルがロードされることを意味します。

repair-table-list

  • repair-table-listは、 repair-modetrueに設定されている場合にのみ有効です。 repair-table-listは、インスタンスで修復する必要がある不良テーブルのリストです。リストの例は、["db.table1""db.table2"...]です。
  • デフォルト値:[]
  • リストはデフォルトでは空です。これは、修復する必要のある不良テーブルがないことを意味します。

new_collations_enabled_on_first_bootstrap

  • 新しい照合順序サポートを有効または無効にします。
  • デフォルト値: true
  • 注:この構成は、最初に初期化されたTiDBクラスタに対してのみ有効です。初期化後、この構成アイテムを使用して、新しい照合順序サポートを有効または無効にすることはできません。 TiDBクラスタがv4.0以降にアップグレードされると、クラスタは以前に初期化されているため、この構成アイテムのtruefalseの両方の値がfalseと見なされます。

max-server-connections

  • TiDBで許可される同時クライアント接続の最大数。リソースを制御するために使用されます。
  • デフォルト値: 0
  • デフォルトでは、TiDBは同時クライアント接続の数に制限を設定していません。この構成アイテムの値が0より大きく、実際のクライアント接続の数がこの値に達すると、TiDBサーバーは新しいクライアント接続を拒否します。

max-index-length

  • 新しく作成されたインデックスの最大許容長を設定します。
  • デフォルト値: 3072
  • 単位:バイト
  • 現在、有効な値の範囲は[3072, 3072*4]です。 MySQLとTiDB(バージョン<v3.0.11)にはこの構成アイテムはありませんが、どちらも新しく作成されたインデックスの長さを制限します。 MySQLのこの制限は3072です。 TiDB(バージョン= <3.0.7)では、この制限は3072*4です。 TiDB(3.0.7 <バージョン<3.0.11)では、この制限は3072です。この構成は、MySQLおよび以前のバージョンのTiDBと互換性があるように追加されています。

table-column-count-limit limitv5.0の新機能

  • 1つのテーブルの列数の制限を設定します。
  • デフォルト値: 1017
  • 現在、有効な値の範囲は[1017, 4096]です。

index-limit limitv5.0の新機能

  • 1つのテーブル内のインデックス数の制限を設定します。
  • デフォルト値: 64
  • 現在、有効な値の範囲は[64, 512]です。

enable-telemetry telemetryv4.0.2の新機能

  • TiDBのテレメトリコレクションを有効または無効にします。
  • デフォルト値: true
  • この構成がすべてのTiDBインスタンスでfalseに設定されている場合、TiDBのテレメトリ収集は無効になり、 tidb_enable_telemetryシステム変数は有効になりません。詳細については、 テレメトリーを参照してください。

enable-tcp4-only機能

  • TCP4でのみリスニングを有効または無効にします。
  • デフォルト値: false
  • このオプションを有効にすると、TiDBをLVSとともにロードバランシングに使用する場合に役立ちます。これは、 TCPヘッダーからの実際のクライアントIPが「tcp4」プロトコルによって正しく解析されるためです。

enable-enum-length-limit limitv5.0の新機能

  • 単一のENUM要素と単一のSET要素の最大長を制限するかどうかを決定します。
  • デフォルト値: true
  • この構成値がtrueの場合、単一のENUM要素と単一のSET要素の最大長は255文字であり、 MySQL 8.0と互換性があります。この構成値がfalseの場合、TiDB(v5.0より前)と互換性のある単一要素の長さに制限はありません。

graceful-wait-before-shutdownの新機能

  • サーバーをシャットダウンするときにTiDBが待機する秒数を指定します。これにより、クライアントは切断できます。
  • デフォルト値: 0
  • TiDBが(猶予期間内に)シャットダウンを待機している場合、HTTPステータスは失敗を示し、ロードバランサーがトラフィックを再ルーティングできるようにします。

enable-global-kill killv6.1.0の新機能

  • グローバルキル(インスタンス間のクエリまたは接続の終了)機能を有効にするかどうかを制御します。
  • デフォルト値: true
  • 値がtrueの場合、 KILLステートメントとKILL TIDBステートメントの両方でインスタンス間のクエリまたは接続を終了できるため、クエリまたは接続を誤って終了することを心配する必要はありません。クライアントを使用して任意のTiDBインスタンスに接続し、 KILLまたはKILL TIDBステートメントを実行すると、ステートメントはターゲットTiDBインスタンスに転送されます。クライアントとTiDBクラスタの間にプロキシがある場合、 KILLステートメントとKILL TIDBステートメントも実行のためにターゲットTiDBインスタンスに転送されます。現在、 enable-global-killtrueの場合、MySQLコマンドラインctrl + cを使用してTiDBでクエリまたは接続を終了することはサポートされていません。 KILLステートメントの詳細については、 殺すを参照してください。

ログ

ログに関連するConfiguration / コンフィグレーション項目。

level

  • ログ出力レベルを指定します。
  • infoのオプションwarn debugfatal error
  • デフォルト値: info

format

  • ログの出力形式を指定します。
  • 値のオプション: jsonおよびtext
  • デフォルト値: text

enable-timestamp

  • ログでタイムスタンプ出力を有効にするかどうかを決定します。
  • デフォルト値: null
  • 値をfalseに設定すると、ログはタイムスタンプを出力しません。

ノート:

  • 下位互換性を保つために、最初のdisable-timestampの構成項目は引き続き有効です。ただし、 disable-timestampの値がenable-timestampの値と意味的に競合する場合(たとえば、 enable-timestampdisable-timestampの両方がtrueに設定されている場合)、TiDBはdisable-timestampの値を無視します。
  • 現在、TiDBはdisable-timestampを使用して、タイムスタンプをログに出力するかどうかを決定します。この状況では、 enable-timestampの値はnullです。
  • それ以降のバージョンでは、 disable-timestampの構成が削除されます。 disable-timestampを破棄し、意味的に理解しやすいenable-timestampを使用します。

enable-slow-log

  • 遅いクエリログを有効にするかどうかを決定します。
  • デフォルト値: true
  • 遅いクエリログを有効にするには、 enable-slow-logtrueに設定します。それ以外の場合は、 falseに設定します。

slow-query-file

  • 遅いクエリログのファイル名。
  • デフォルト値: tidb-slow.log
  • 低速ログの形式はTiDBv2.1.8で更新されているため、低速ログは個別に低速ログファイルに出力されます。 v2.1.8より前のバージョンでは、この変数はデフォルトで「」に設定されています。
  • 設定後、低速クエリログがこのファイルに個別に出力されます。

slow-threshold

  • スローログに消費時間のしきい値を出力します。
  • デフォルト値: 300ms
  • クエリの値がデフォルト値よりも大きい場合、それは低速クエリであり、低速ログに出力されます。

record-plan-in-slow-log

  • 実行プランを低速ログに記録するかどうかを決定します。
  • デフォルト値: 1
  • 0は無効にすることを意味し、 1 (デフォルト)は有効にすることを意味します。このパラメーターの値は、 tidb_record_plan_in_slow_logシステム変数の初期値です。

expensive-threshold

  • expensiveの操作の行数のしきい値を出力します。
  • デフォルト値: 10000
  • クエリ行の数(統計に基づく中間結果を含む)がこの値よりも大きい場合、それはexpensive操作であり、接頭辞[EXPENSIVE_QUERY]が付いたログを出力します。

log.file

ログファイルに関連するConfiguration / コンフィグレーション項目。

filename

  • 一般ログファイルのファイル名。
  • デフォルト値: ""
  • 設定すると、このファイルにログが出力されます。

max-size

  • ログファイルのサイズ制限。
  • デフォルト値:300
  • 単位:MB
  • 最大値は4096です。

max-days

  • ログが保持される最大日数。
  • デフォルト値: 0
  • ログはデフォルトで保持されます。値を設定すると、期限切れのログはmax-days後にクリーンアップされます。

max-backups

  • 保持されるログの最大数。
  • デフォルト値: 0
  • デフォルトでは、すべてのログファイルが保持されます。 7に設定すると、最大7つのログファイルが保持されます。

安全

セキュリティに関連するConfiguration / コンフィグレーション項目。

enable-sem

  • セキュリティ拡張モード(SEM)を有効にします。
  • デフォルト値: false
  • SEMのステータスは、システム変数tidb_enable_enhanced_securityを介して取得できます。

ssl-ca

  • PEM形式の信頼できるCA証明書のファイルパス。
  • デフォルト値: ""
  • このオプションと--ssl-certを同時に設定すると、 --ssl-keyは、クライアントが証明書を提示するときに、このオプションで指定された信頼できるCAのリストに基づいてクライアント証明書を認証します。認証が失敗した場合、接続は終了します。
  • このオプションを設定したが、クライアントが証明書を提示しない場合、クライアント証明書認証なしで安全な接続が続行されます。

ssl-cert

  • PEM形式のSSL証明書のファイルパス。
  • デフォルト値: ""
  • このオプションと--ssl-keyを同時に設定すると、TiDBは、クライアントがTLSを使用してTiDBに安全に接続することを許可します(強制はしません)。
  • 指定された証明書または秘密鍵が無効な場合、TiDBは通常どおり起動しますが、安全な接続を受信できません。

ssl-key

  • PEM形式のSSL証明書キーのファイルパス、つまり--ssl-certで指定された証明書の秘密キー。
  • デフォルト値: ""
  • 現在、TiDBはパスワードで保護された秘密鍵のロードをサポートしていません。

cluster-ssl-ca

  • TiKVまたはPDをTLSに接続するために使用されるCAルート証明書。
  • デフォルト値: ""

cluster-ssl-cert

  • TiKVまたはPDをTLSに接続するために使用されるSSL証明書ファイルのパス。
  • デフォルト値: ""

cluster-ssl-key

  • TiKVまたはPDをTLSに接続するために使用されるSSL秘密鍵ファイルのパス。
  • デフォルト値: ""

spilled-file-encryption-method

  • こぼれたファイルをディスクに保存するために使用される暗号化方法を決定します。
  • デフォルト値: "plaintext" 、これは暗号化を無効にします。
  • オプション値: "plaintext"および"aes128-ctr"

auto-tls

  • 起動時にTLS証明書を自動的に生成するかどうかを決定します。
  • デフォルト値: false

tls-version

  • MySQLプロトコル接続の最小TLSバージョンを設定します。
  • デフォルト値: ""、TLSv1.1以降を許可します。
  • オプション"TLSv1.1""TLSv1.0""TLSv1.3" "TLSv1.2"

パフォーマンス

パフォーマンスに関連するConfiguration / コンフィグレーション項目。

max-procs

  • TiDBが使用するCPUの数。
  • デフォルト値: 0
  • デフォルトの0は、マシン上のすべてのCPUを使用することを示します。 nに設定することもでき、TiDBはn個のCPUを使用します。

server-memory-quota quotav4.0.9の新機能

警告

server-memory-quotaはまだ実験的機能です。実稼働環境で使用することはお勧めしません

  • tidb-serverインスタンスのメモリ使用制限。
  • デフォルト値: 0 (バイト単位)。これは、メモリ制限がないことを意味します。

memory-usage-alarm-ratio ratiov4.0.9の新機能

  • TiDBは、tidb-serverインスタンスのメモリ使用量が特定のしきい値を超えるとアラームをトリガーします。この構成アイテムの有効な値の範囲は0 10または1として設定されている場合、このアラーム機能は無効になります。
  • デフォルト値: 0.8
  • メモリ使用量アラームが有効になっているときにserver-memory-quotaが設定されていない場合、メモリ使用量のしきい値はthe `memory-usage-alarm-ratio` value * the system memory sizeです。 server-memory-quotaが0より大きい値に設定されている場合、メモリ使用量のしきい値はthe `memory-usage-alarm-ratio` value * the `server-memory-quota` valueです。
  • TiDBは、tidb-serverインスタンスのメモリ使用量がしきい値を超えていることを検出すると、OOMのリスクがある可能性があると見なします。したがって、メモリ使用量が最も多い10個のSQLステートメント、実行時間が最も長い10個のSQLステートメント、および現在実行中のすべてのSQLステートメントのヒーププロファイルをディレクトリtmp-storage-path/recordに記録し、キーワードtidb-server has the risk of OOMを含むログを出力します。
  • この構成項目の値は、システム変数tidb_memory_usage_alarm_ratioの初期値です。

max-txn-ttl

  • 1つのトランザクションがロックを保持できる最長時間。この時間を超えると、トランザクションのロックが他のトランザクションによってクリアされ、このトランザクションを正常にコミットできなくなる可能性があります。
  • デフォルト値: 3600000
  • 単位:ミリ秒
  • この時間より長くロックを保持するトランザクションは、コミットまたはロールバックすることしかできません。コミットが成功しない可能性があります。

stmt-count-limit

  • 1回のTiDBトランザクションで許可されるステートメントの最大数。
  • デフォルト値: 5000
  • ステートメントの数がstmt-count-limitを超えた後、トランザクションがロールバックまたはコミットされない場合、TiDBはstatement count 5001 exceeds the transaction limitation, autocommit = falseエラーを返します。この構成は、再試行可能なオプティミスティックトランザクションでのみ有効になります。ペシミスティックトランザクションを使用する場合、またはトランザクションの再試行を無効にした場合、トランザクション内のステートメントの数はこの構成によって制限されません。

txn-entry-size-limit新機能

  • TiDBの1行のデータのサイズ制限。
  • デフォルト値: 6291456 (バイト単位)
  • トランザクション内の単一のKey-Valueレコードのサイズ制限。サイズ制限を超えると、TiDBはentry too largeエラーを返します。この構成アイテムの最大値は125829120 (120 MB)を超えません。
  • TiKVにも同様の制限があることに注意してください。 1回の書き込み要求のデータサイズがraft-entry-max-size (デフォルトでは8 MB)を超えると、TiKVはこの要求の処理を拒否します。テーブルに大きなサイズの行がある場合は、両方の構成を同時に変更する必要があります。

txn-total-size-limit

  • TiDBでの単一トランザクションのサイズ制限。
  • デフォルト値: 104857600 (バイト単位)
  • 1つのトランザクションで、Key-Valueレコードの合計サイズがこの値を超えることはできません。このパラメーターの最大値は1099511627776 (1 TB)です。 binlogを使用してダウンストリームコンシューマーKafka( arbiterクラスタなど)にサービスを提供した場合、このパラメーターの値は1073741824 (1 GB)以下でなければならないことに注意してください。これは、Kafkaが処理できる単一のメッセージサイズの上限が1GBであるためです。それ以外の場合、この制限を超えるとエラーが返されます。

tcp-keep-alive

  • TCP層でkeepaliveを有効にするかどうかを決定します。
  • デフォルト値: true

tcp-no-delay

  • TCP層でTCP_NODELAYを有効にするかどうかを決定します。有効にした後、TiDBはTCP / IPプロトコルのNagleアルゴリズムを無効にし、小さなデータパケットを送信してネットワーク遅延を削減できるようにします。これは、データの送信量が少ない、遅延の影響を受けやすいアプリケーションに適しています。
  • デフォルト値: true

cross-join

  • デフォルト値: true
  • TiDBは、デフォルトで両側テーブルの条件なしでJOINステートメント( WHEREフィールド)の実行をサポートします。値をfalseに設定すると、そのようなJOINステートメントが表示されたときにサーバーは実行を拒否します。

stats-lease

  • 統計の再読み込み、テーブルの行数の更新、自動分析の実行が必要かどうかの確認、フィードバックを使用した統計の更新、および列の統計の読み込みの時間間隔。
  • デフォルト値: 3s
    • stats-lease回の間隔で、TiDBは更新の統計をチェックし、更新が存在する場合はそれらをメモリに更新します。
    • TiDBは、 20 * stats-lease回の間隔で、DMLによって生成された行の総数と変更された行の数をシステムテーブルに更新します。
    • TiDBは、 stats-leaseの間隔で、自動的に分析する必要のあるテーブルとインデックスをチェックします。
    • TiDBは、 stats-leaseの間隔で、メモリにロードする必要のある列統計をチェックします。
    • TiDBは、 200 * stats-leaseの間隔で、メモリにキャッシュされたフィードバックをシステムテーブルに書き込みます。
    • 5 * stats-leaseの間隔で、TiDBはシステムテーブルのフィードバックを読み取り、メモリにキャッシュされている統計を更新します。
  • stats-leaseを0に設定すると、TiDBはシステムテーブルのフィードバックを定期的に読み取り、メモリにキャッシュされている統計を3秒ごとに更新します。ただし、TiDBは、次の統計関連のシステムテーブルを自動的に変更しなくなりました。
    • mysql.stats_meta :TiDBは、トランザクションによって変更されたテーブル行の数を自動的に記録し、それをこのシステムテーブルに更新しなくなりました。
    • mysql.stats_top_n mysql.stats_buckets mysql.stats_histogramsは、統計を自動的に分析してプロアクティブに更新しなくなりました。
    • mysql.stats_feedback :TiDBは、クエリされたデータによって返された統計の一部に従って、テーブルとインデックスの統計を更新しなくなりました。

feedback-probability

  • TiDBが各クエリのフィードバック統計を収集する確率。
  • デフォルト値: 0
  • この機能はデフォルトで無効になっているため、この機能を有効にすることはお勧めしません。有効になっている場合、TiDBは統計を更新するためにfeedback-probabilityの確率で各クエリのフィードバックを収集します。

query-feedback-limit

  • メモリにキャッシュできるクエリフィードバックの最大数。この制限を超える余分なフィードバックは破棄されます。
  • デフォルト値: 1024

pseudo-estimate-ratio

  • テーブル内の(変更された行の数)/(行の総数)の比率。値を超えると、システムは統計の有効期限が切れていると見なし、疑似統計が使用されます。
  • デフォルト値: 0.8
  • 最小値は0 、最大値は1です。

force-priority

  • すべてのステートメントの優先度を設定します。
  • デフォルト値: NO_PRIORITY
  • オプションのLOW_PRIORITYNO_PRIORITYDELAYED HIGH_PRIORITY

distinct-agg-push-down

  • オプティマイザーが、 Distinctselect count(distinct a) from tなど)の集計関数をコプロセッサーにプッシュダウンする操作を実行するかどうかを決定します。
  • デフォルト: false
  • この変数は、システム変数tidb_opt_distinct_agg_push_downの初期値です。

enforce-mpp

  • オプティマイザのコスト見積もりを無視し、クエリの実行にTiFlashのMPPモードを強制的に使用するかどうかを決定します。
  • デフォルト値: false
  • この構成アイテムは、 tidb_enforce_mppの初期値を制御します。たとえば、この構成アイテムがtrueに設定されている場合、デフォルト値のtidb_enforce_mppONです。

enable-stats-cache-mem-quota quotav6.1.0の新機能

警告

この変数は実験的機能です。実稼働環境での使用はお勧めしません。

  • 統計キャッシュのメモリクォータを有効にするかどうかを制御します。
  • デフォルト値: false

stats-load-concurrencyの新機能

警告

現在、統計を同期的にロードすることは実験的機能です。実稼働環境で使用することはお勧めしません。

  • TiDB同期ロード統計機能が同時に処理できる列の最大数。
  • デフォルト値: 5
  • 現在、有効な値の範囲は[1, 128]です。

stats-load-queue-size sizev5.4.0の新機能

警告

現在、統計を同期的にロードすることは実験的機能です。実稼働環境で使用することはお勧めしません。

  • TiDBが統計を同期的にロードする機能がキャッシュできる列要求の最大数。
  • デフォルト値: 1000
  • 現在、有効な値の範囲は[1, 100000]です。

オープントレース

オープントレースに関連するConfiguration / コンフィグレーション項目。

enable

  • opentracingを有効にして、一部のTiDBコンポーネントの呼び出しオーバーヘッドをトレースします。オープントレースを有効にすると、パフォーマンスが低下することに注意してください。
  • デフォルト値: false

rpc-metrics

  • RPCメトリックを有効にします。
  • デフォルト値: false

opentracing.sampler

opentracing.samplerに関連するConfiguration / コンフィグレーション項目。

type

  • オープントレースサンプラーのタイプを指定します。
  • デフォルト値: "const"
  • "probabilistic""remote" "rateLimiting" "const"

param

  • オープントレースサンプラーのパラメーター。
    • constタイプの場合、値は0または1になり、 constサンプラーを有効にするかどうかを示します。
    • probabilisticタイプの場合、パラメーターはサンプリング確率を指定します。これは、 0から1までの浮動小数点数にすることができます。
    • rateLimitingタイプの場合、パラメーターは1秒あたりにサンプリングされるスパンの数を指定します。
    • remoteタイプの場合、パラメーターはサンプリング確率を指定します。これは、 0から1までの浮動小数点数にすることができます。
  • デフォルト値: 1.0

sampling-server-url

  • jaeger-agentサンプリングサーバーのHTTPURL。
  • デフォルト値: ""

max-operations

  • サンプラーがトレースできる操作の最大数。操作がトレースされない場合は、デフォルトの確率的サンプラーが使用されます。
  • デフォルト値: 0

sampling-refresh-interval

  • イェーガーエージェントのサンプリングポリシーをポーリングする頻度を制御します。
  • デフォルト値: 0

opentracing.reporter

opentracing.reporterに関連するConfiguration / コンフィグレーションアイテム。

queue-size

  • レポーターが記録するキューサイズは、メモリにまたがっています。
  • デフォルト値: 0

buffer-flush-interval

  • レポーターがメモリ内のスパンをストレージにフラッシュする間隔。
  • デフォルト値: 0

log-spans

  • 送信されたすべてのスパンのログを印刷するかどうかを決定します。
  • デフォルト値: false

local-agent-host-port

  • レポーターが送信するアドレスは、jaeger-agentにまたがっています。
  • デフォルト値: ""

tikv-クライアント

grpc-connection-count

  • 各TiKVで確立された接続の最大数。
  • デフォルト値: 4

grpc-keepalive-time

  • TiDBノードとTiKVノード間のRPC接続のkeepalive時間間隔。指定された時間間隔内にネットワークパケットがない場合、gRPCクライアントはTiKVに対してpingコマンドを実行して、それが生きているかどうかを確認します。
  • デフォルト: 10
  • 単位:秒

grpc-keepalive-timeout

  • TiDBノードとkeepaliveノード間のRPC1チェックのタイムアウト。
  • デフォルト値: 3
  • 単位:秒

grpc-compression-type

  • TiDBノードとTiKVノード間のデータ転送に使用される圧縮タイプを指定します。デフォルト値は"none"で、これは圧縮がないことを意味します。 gzip圧縮を有効にするには、この値を"gzip"に設定します。
  • デフォルト値: "none"
  • "gzip"のオプション: "none"

commit-timeout

  • トランザクションコミットを実行するときの最大タイムアウト。
  • デフォルト値: 41s
  • この値は、Raft選挙タイムアウトの2倍より大きく設定する必要があります。

max-batch-size

  • バッチで送信されるRPCパケットの最大数。値が0でない場合、 BatchCommands APIを使用してTiKVにリクエストを送信し、同時実行性が高い場合にRPCレイテンシを短縮できます。この値は変更しないことをお勧めします。
  • デフォルト値: 128

max-batch-wait-time

  • max-batch-wait-timeがデータパケットをバッチで大きなパケットにカプセル化し、TiKVノードに送信するのを待ちます。 tikv-client.max-batch-sizeの値が0より大きい場合にのみ有効です。この値は変更しないことをお勧めします。
  • デフォルト値: 0
  • 単位:ナノ秒

batch-wait-size

  • バッチでTiKVに送信されるパケットの最大数。この値は変更しないことをお勧めします。
  • デフォルト値: 8
  • 値が0の場合、この機能は無効になります。

overload-threshold

  • TiKV負荷のしきい値。 TiKVの負荷がこのしきい値を超えると、TiKVの圧力を軽減するために、さらにbatchのパケットが収集されます。 tikv-client.max-batch-sizeの値が0より大きい場合にのみ有効です。この値は変更しないことをお勧めします。
  • デフォルト値: 200

tikv-client.copr-cachev4.0.0の新機能

このセクションでは、コプロセッサー・キャッシュ機能に関連する構成項目を紹介します。

capacity-mb

  • キャッシュされたデータの合計サイズ。キャッシュスペースがいっぱいになると、古いキャッシュエントリが削除されます。値が0.0の場合、コプロセッサーキャッシュ機能は無効になります。
  • デフォルト値: 1000.0
  • 単位:MB
  • タイプ:フロート

txn-local-latches

トランザクションラッチに関連するConfiguration / コンフィグレーション。多くのローカルトランザクションの競合が発生した場合は、これを有効にすることをお勧めします。

enabled

  • トランザクションのメモリロックを有効にするかどうかを決定します。
  • デフォルト値: false

capacity

  • ハッシュに対応するスロットの数。2の指数倍数に自動的に上方に調整されます。各スロットは32バイトのメモリを占有します。設定が小さすぎると、データの書き込みが比較的広い範囲(データのインポートなど)をカバーするシナリオで、実行速度が遅くなり、パフォーマンスが低下する可能性があります。
  • デフォルト値: 2048000

binlog

Binlogに関連する構成。

enable

  • binlogを有効または無効にします。
  • デフォルト値: false

write-timeout

  • binlogをPumpに書き込むタイムアウト。この値を変更することはお勧めしません。
  • デフォルト: 15s
  • 単位:秒

ignore-error

  • binlogをPumpに書き込むプロセスで発生したエラーを無視するかどうかを決定します。この値を変更することはお勧めしません。
  • デフォルト値: false
  • 値がtrueに設定されていてエラーが発生すると、TiDBはbinlogの書き込みを停止し、 tidb_server_critical_error_totalの監視項目のカウントに1を追加します。値をfalseに設定すると、binlogの書き込みが失敗し、TiDBサービス全体が停止します。

binlog-socket

  • binlogのエクスポート先のネットワークアドレス。
  • デフォルト値: ""

strategy

  • binlogがエクスポートされるときのPump選択の戦略。現在、 hashつとrangeの方法のみがサポートされています。
  • デフォルト値: range

状態

TiDBサービスのステータスに関連するConfiguration / コンフィグレーション。

report-status

  • HTTPAPIサービスを有効または無効にします。
  • デフォルト値: true

record-db-qps

  • データベース関連のQPSメトリックをPrometheusに送信するかどうかを決定します。
  • デフォルト値: false

悲観的-txn

悲観的なトランザクションの使用法については、 TiDBペシミスティックトランザクションモードを参照してください。

max-retry-count

  • 悲観的トランザクションにおける各ステートメントの最大再試行回数。再試行回数がこの制限を超えると、エラーが発生します。
  • デフォルト値: 256

デッドロック-履歴-容量

  • 単一のTiDBサーバーのINFORMATION_SCHEMA.DEADLOCKSつのテーブルに記録できるデッドロックイベントの最大数。このテーブルがフルボリュームであり、追加のデッドロックイベントが発生した場合、テーブル内の最も古いレコードが削除され、最新のエラーが発生します。
  • デフォルト値: 10
  • 最小値: 0
  • 最大値: 10000

デッドロック-履歴-収集-再試行可能

pessimistic-auto-commit(v6.0.0の新機能)

  • ペシミスティックトランザクションモードがグローバルに有効になっている場合に、自動コミットトランザクションが使用するトランザクションモードを決定します( tidb_txn_mode='pessimistic' )。デフォルトでは、ペシミスティックトランザクションモードがグローバルに有効になっている場合でも、自動コミットトランザクションはオプティミスティックトランザクションモードを使用します。 pessimistic-auto-commitを有効にした後( trueに設定)、自動コミットトランザクションもペシミスティックモードを使用します。これは、他の明示的にコミットされたペシミスティックトランザクションと一致します。
  • 競合のあるシナリオの場合、この構成を有効にした後、TiDBはトランザクションをグローバルロック待機管理に組み込みます。これにより、デッドロックが回避され、デッドロックの原因となる競合によって引き起こされる遅延の急増が軽減されます。
  • 競合のないシナリオで、自動コミットトランザクションが多数ある場合(特定の数は実際のシナリオによって決定されます。たとえば、自動コミットトランザクションの数は、アプリケーションの総数の半分以上を占めます)、および単一のトランザクションが大量のデータを操作するため、この構成を有効にするとパフォーマンスが低下します。たとえば、auto- INSERT INTO SELECTステートメント。
  • デフォルト値: false

実験的

v3.1.0で導入されたexperimentalのセクションでは、TiDBの実験的機能に関連する構成について説明します。

allow-expression-index indexv4.0.0の新機能

  • 式インデックスを作成できるかどうかを制御します。 TiDB v5.2.0以降、式の関数が安全であれば、この構成を有効にしなくても、この関数に基づいて式インデックスを直接作成できます。他の関数に基づいて式インデックスを作成する場合は、この構成を有効にできますが、正確性の問題が存在する可能性があります。 tidb_allow_function_for_expression_index変数をクエリすることにより、式の作成に直接使用しても安全な関数を取得できます。
  • デフォルト値: false
このページの内容