- TiDBについて
- クイックスタート
- 発展させる
- 概要
- クイックスタート
- TiDB CloudでTiDBクラスターを構築する(DevTier)
- TiDBのCRUDSQL
- TiDBを使用してシンプルなCRUDアプリを構築する
- アプリケーション例
- TiDBに接続する
- データベーススキーマの設計
- データの書き込み
- データの読み取り
- 取引
- 最適化
- トラブルシューティング
- 参照
- デプロイ
- 移行する
- 管理
- 監視と警告
- トラブルシューティング
- TiDBトラブルシューティングマップ
- 遅いクエリを特定する
- 遅いクエリを分析する
- SQL診断
- Top SQLを使用して高価なクエリを特定する
- ログを使用して高価なクエリを特定する
- ステートメント要約表
- ホットスポットの問題のトラブルシューティング
- 読み取りと書き込みの待ち時間の増加のトラブルシューティング
- クラスタのオンサイト情報を保存および復元する
- クラスタセットアップのトラブルシューティング
- 高いディスクI/O使用量のトラブルシューティング
- ロックの競合のトラブルシューティング
- TiFlashのトラブルシューティング
- 楽観的なトランザクションでの書き込みの競合のトラブルシューティング
- データとインデックス間の不整合のトラブルシューティング
- 性能チューニング
- チューニングガイド
- Configuration / コンフィグレーションの調整
- システムチューニング
- ソフトウェアのチューニング
- SQLチューニング
- チュートリアル
- TiDBツール
- 概要
- ユースケース
- ダウンロード
- TiUP
- ドキュメントマップ
- 概要
- 用語と概念
- TiUPコンポーネントを管理する
- FAQ
- トラブルシューティングガイド
- コマンドリファレンス
- 概要
- TiUPコマンド
- TiUPクラスターコマンド
- 概要
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUPDMコマンド
- 概要
- tiup dm audit
- tiup dm deploy
- tiup dm destroy
- tiup dm disable
- tiup dm display
- tiup dm edit-config
- tiup dm enable
- tiup dm help
- tiup dm import
- tiup dm list
- tiup dm patch
- tiup dm prune
- tiup dm reload
- tiup dm replay
- tiup dm restart
- tiup dm scale-in
- tiup dm scale-out
- tiup dm start
- tiup dm stop
- tiup dm template
- tiup dm upgrade
- TiDBクラスタートポロジリファレンス
- DMクラスタートポロジリファレンス
- ミラーリファレンスガイド
- TiUPコンポーネント
- PingCAPクリニック診断サービス(テクニカルプレビュー)
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDBデータ移行
- TiDBデータ移行について
- クイックスタート
- DMクラスタをデプロイする
- チュートリアル
- 高度なチュートリアル
- シャーディングされたテーブルからのデータのマージと移行
- GH-ost/PT-oscを使用するMySQLデータベースからの移行
- より多くの列を持つダウンストリームTiDBテーブルにデータを移行する
- 管理
- 参照
- 例
- トラブルシューティング
- リリースノート
- バックアップと復元(BR)
- TiDB Binlog
- TiCDC
- Dumpling
- sync-diff-inspector
- TiSpark
- 参照
- クラスターアーキテクチャ
- 主要な監視指標
- セキュリティ
- 権限
- SQL
- SQL言語の構造と構文
- SQLステートメント
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- データ型
- 関数と演算子
- クラスター化インデックス
- 制約
- 生成された列
- SQLモード
- テーブル属性
- トランザクション
- ガベージコレクション(GC)
- ビュー
- パーティショニング
- 一時テーブル
- キャッシュされたテーブル
- 文字セットと照合
- SQLの配置ルール
- システムテーブル
mysql
- INFORMATION_SCHEMA
- 概要
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- TiDBダッシュボード
- 概要
- 管理
- アクセス
- 概要ページ
- クラスター情報ページ
- Top SQLページ
- キービジュアライザーページ
- メトリクス関係グラフ
- SQLステートメント分析
- 遅いクエリページ
- クラスター診断
- 検索ログページ
- インスタンスプロファイリング
- セッションの管理とConfiguration / コンフィグレーション
- FAQ
- CLI
- コマンドラインフラグ
- Configuration / コンフィグレーションファイルのパラメーター
- システム変数
- ストレージエンジン
- テレメトリー
- エラーコード
- テーブルフィルター
- トポロジラベルによるレプリカのスケジュール
- よくある質問
- リリースノート
- すべてのリリース
- リリースタイムライン
- TiDBバージョニング
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 用語集
TiDBConfiguration / コンフィグレーションファイル
TiDB構成ファイルは、コマンドラインパラメーターよりも多くのオプションをサポートしています。デフォルトの構成ファイルconfig.toml.example
をダウンロードして、名前をconfig.toml
に変更できます。このドキュメントでは、 コマンドラインオプションに関係のないオプションについてのみ説明します。
split-table
- テーブルごとに個別のリージョンを作成するかどうかを決定します。
- デフォルト値:
true
- 多数のテーブルを作成する必要がある場合は、
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-storage
。MC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=
は<host>:<port>/<statusHost>:<statusPort>
のBase64
エンコード結果です。 - この構成は、
oom-use-tmp-storage
がtrue
の場合にのみ有効になります。
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-query
がtrue
に設定されている場合、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-key
をtrue
に設定します。ただし、スイッチがオンになる前にテーブルがすでに存在し、その主キー列のデータ型が整数である場合、この構成項目をtrue
に設定しても、列から主キーを削除することはできません。
ノート:
この構成アイテムは非推奨になり、現在、
@tidb_enable_clustered_index
の値がINT_ONLY
の場合にのみ有効になります。主キーを追加または削除する必要がある場合は、テーブルを作成するときに代わりにNONCLUSTERED
キーワードを使用してください。CLUSTERED
タイプの主キーの詳細については、 クラスター化されたインデックスを参照してください。
server-version
- 次の状況でTiDBによって返されるバージョン文字列を変更します。
- 内蔵の
VERSION()
機能を使用する場合。 - TiDBがクライアントへの初期接続を確立し、サーバーのバージョン文字列を含む初期ハンドシェイクパケットを返す場合。詳細については、 MySQL初期ハンドシェイクパケットを参照してください。
- 内蔵の
- デフォルト値: ""
- デフォルトでは、TiDBバージョン文字列の形式は
5.7.${mysql_latest_minor_version}-TiDB-${tidb_version}
です。
repair-mode
- 信頼できない修復モードを有効にするかどうかを決定します。
repair-mode
がtrue
に設定されている場合、repair-table-list
の不良テーブルをロードできません。 - デフォルト値:
false
repair
構文はデフォルトではサポートされていません。これは、TiDBの起動時にすべてのテーブルがロードされることを意味します。
repair-table-list
repair-table-list
は、repair-mode
がtrue
に設定されている場合にのみ有効です。repair-table-list
は、インスタンスで修復する必要がある不良テーブルのリストです。リストの例は、["db.table1"、"db.table2"...]です。- デフォルト値:[]
- リストはデフォルトでは空です。これは、修復する必要のある不良テーブルがないことを意味します。
new_collations_enabled_on_first_bootstrap
- 新しい照合順序サポートを有効または無効にします。
- デフォルト値:
true
- 注:この構成は、最初に初期化されたTiDBクラスタに対してのみ有効です。初期化後、この構成アイテムを使用して、新しい照合順序サポートを有効または無効にすることはできません。 TiDBクラスタがv4.0以降にアップグレードされると、クラスタは以前に初期化されているため、この構成アイテムの
true
とfalse
の両方の値が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-kill
がtrue
の場合、MySQLコマンドラインctrl + cを使用してTiDBでクエリまたは接続を終了することはサポートされていません。KILL
ステートメントの詳細については、 殺すを参照してください。
ログ
ログに関連するConfiguration / コンフィグレーション項目。
level
- ログ出力レベルを指定します。
info
のオプションwarn
debug
、fatal
error
- デフォルト値:
info
format
- ログ出力形式を指定します。
- 値のオプション:
json
およびtext
。 - デフォルト値:
text
enable-timestamp
- ログでタイムスタンプ出力を有効にするかどうかを決定します。
- デフォルト値:
true
- 値を
false
に設定すると、ログはタイムスタンプを出力しません。
ノート:
下位互換性を保つために、最初の
disable-timestamp
の構成項目は引き続き有効です。ただし、disable-timestamp
の値がenable-timestamp
の値と意味的に競合する場合(たとえば、enable-timestamp
とdisable-timestamp
の両方がtrue
に設定されている場合)、TiDBはdisable-timestamp
の値を無視します。それ以降のバージョンでは、disable-timestamp
の構成が削除されます。
disable-timestamp
を破棄し、意味的に理解しやすいenable-timestamp
を使用します。
enable-slow-log
- 低速クエリログを有効にするかどうかを決定します。
- デフォルト値:
true
- 低速クエリログを有効にするには、
enable-slow-log
をtrue
に設定します。それ以外の場合は、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インスタンスのメモリ使用制限。この構成アイテムは、前の
max-memory
を完全に置き換えます。 - デフォルト値:
0
(バイト単位)。これは、メモリ制限がないことを意味します。
memory-usage-alarm-ratio
ratiov4.0.9の新機能
- TiDBは、tidb-serverインスタンスのメモリ使用量が特定のしきい値を超えるとアラームをトリガーします。この構成アイテムの有効な値の範囲は
0
1
。0
または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の単一行のデータのサイズ制限。
- デフォルト値:
6291456
(バイト単位) - トランザクション内の単一のKey-Valueレコードのサイズ制限。サイズ制限を超えると、TiDBは
entry too large
エラーを返します。この構成アイテムの最大値は125829120
(120 MB)を超えません。 - TiKVにも同様の制限があることに注意してください。単一の書き込み要求のデータサイズが
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
の間隔で、自動的に分析する必要のあるテーブルとインデックスをチェックします。 stats-lease
の間隔で、TiDBはメモリにロードする必要のある列統計をチェックします。200 * stats-lease
の間隔で、TiDBはメモリにキャッシュされたフィードバックをシステムテーブルに書き込みます。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_PRIORITY
:NO_PRIORITY
、DELAYED
HIGH_PRIORITY
distinct-agg-push-down
- オプティマイザーが、
Distinct
(select count(distinct a) from t
など)の集計関数をコプロセッサーにプッシュダウンする操作を実行するかどうかを決定します。 - デフォルト:
false
- この変数は、システム変数
tidb_opt_distinct_agg_push_down
の初期値です。
enforce-mpp
- オプティマイザのコスト見積もりを無視し、クエリの実行にTiFlashのMPPモードを強制的に使用するかどうかを決定します。
- デフォルト値:
false
- この構成項目は、
tidb_enforce_mpp
の初期値を制御します。たとえば、この構成項目がtrue
に設定されている場合、デフォルト値のtidb_enforce_mpp
はON
です。
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
- jaeger-agentサンプリングポリシーのポーリングの頻度を制御します。
- デフォルト値:
0
opentracing.reporter
opentracing.reporterに関連するConfiguration / コンフィグレーションアイテム。
queue-size
- レポーターがメモリ内で記録するキューサイズ。
- デフォルト値:
0
buffer-flush-interval
- レポーターがメモリ内のスパンをストレージにフラッシュする間隔。
- デフォルト値:
0
log-spans
- 送信されたすべてのスパンのログを印刷するかどうかを決定します。
- デフォルト値:
false
local-agent-host-port
- レポーターが送信するアドレスは、jaeger-agentにまたがっています。
- デフォルト値:
""
tikv-client
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
- この値は、ラフト選挙タイムアウトの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
TiDBBinlogに関連する構成。
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がエクスポートされるときのポンプ選択の戦略。現在、
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
デッドロック-履歴-収集-再試行可能
INFORMATION_SCHEMA.DEADLOCKS
テーブルが再試行可能なデッドロックエラーの情報を収集するかどうかを制御します。再試行可能なデッドロックエラーの説明については、 再試行可能なデッドロックエラーを参照してください。- デフォルト値:
false
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
- <code>split-table</code>
- <code>token-limit</code>
- <code>oom-use-tmp-storage</code>
- <code>tmp-storage-path</code>
- <code>tmp-storage-quota</code>
- <code>lease</code>
- <code>compatible-kill-query</code>
- <code>check-mb4-value-in-utf8</code>
- <code>treat-old-version-utf8-as-utf8mb4</code>
- <code>alter-primary-key</code> (非推奨)
- <code>server-version</code>
- <code>repair-mode</code>
- <code>repair-table-list</code>
- <code>new_collations_enabled_on_first_bootstrap</code>
- <code>max-server-connections</code>
- <code>max-index-length</code>
- <code>table-column-count-limit</code>
- <code>index-limit</code>
- <code>enable-telemetry</code>
- <code>enable-tcp4-only</code>機能
- <code>enable-enum-length-limit</code>
- <code>graceful-wait-before-shutdown</code>機能
- <code>enable-global-kill</code>
- ログ
- log.file
- 安全
- パフォーマンス
- <code>max-procs</code>
- <code>server-memory-quota</code>
- <code>memory-usage-alarm-ratio</code>
- <code>max-txn-ttl</code>
- <code>stmt-count-limit</code>
- <code>txn-entry-size-limit</code>
- <code>txn-total-size-limit</code>
- <code>tcp-keep-alive</code>
- <code>tcp-no-delay</code>
- <code>cross-join</code>
- <code>stats-lease</code>
- <code>feedback-probability</code>
- <code>query-feedback-limit</code>
- <code>pseudo-estimate-ratio</code>
- <code>force-priority</code>
- <code>distinct-agg-push-down</code>
- <code>enforce-mpp</code>
- <code>enable-stats-cache-mem-quota</code>
- <code>stats-load-concurrency</code>
- <code>stats-load-queue-size</code>
- オープントレース
- opentracing.sampler
- opentracing.reporter
- tikv-client
- tikv-client.copr-cachev4.0.0の
- txn-local-latches
- binlog
- 状態
- 悲観的-txn
- 実験的