- TiDB Cloudについて
- 始めましょう
- クラスターの管理
- データの移行
- サンプル データのインポート
- データを TiDB に移行する
- TiDB からのデータのエクスポート
- データのバックアップと復元
- 監視と警告
- パフォーマンスの調整
- 概要
- パフォーマンスを分析する
- SQL チューニング
- TiKV Follower Readの調整
- コプロセッサ キャッシュ
- ガベージ コレクション (GC)
- TiFlash のパフォーマンスを調整する
- ユーザー アクセスの管理
- 請求する
- 参照
- TiDB クラスターのアーキテクチャ
- TiDB Cloudクラスターの制限とクォータ
- TiDB の制限事項
- SQL
- TiDB で SQL を調べる
- SQL 言語の構造と構文
- SQL ステートメント
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER INDEX
ALTER TABLE
ALTER TABLE COMPACT
ALTER USER
ANALYZE TABLE
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
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 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]
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
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 [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
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 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 モード
- テーブル属性
- 取引
- ビュー
- パーティショニング
- 一時テーブル
- キャッシュされたテーブル
- 文字セットと照合順序
- 履歴データの読み取り
- システム テーブル
mysql
- 情報_スキーマ
- 概要
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_INFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
KEY_COLUMN_USAGE
PARTITIONS
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
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
- システム変数
- ストレージ エンジン
- TiKV
- ティフラッシュ
- Dumpling
- テーブル フィルター
- データとインデックス間の不一致のトラブルシューティング
- よくある質問
- リリースノート
- サポート
- 用語集
Dumplingの概要
このドキュメントでは、データエクスポートツールDumplingを紹介します。Dumplingは、TiDB / MySQLに保存されているデータをSQLまたはCSVデータファイルとしてエクスポートし、論理的な完全バックアップまたはエクスポートを行うために使用できます。
SSTファイル(キーと値のペア)のバックアップ、またはレイテンシーの影響を受けない増分データのバックアップについては、 BRを参照してください。インクリメンタルデータのリアルタイムバックアップについては、 TiCDCを参照してください。
ノート:
PingCAPは以前、TiDBに固有の拡張機能を備えたmydumperプロジェクトのフォークを維持していました。その後、このフォークはDumplingに置き換えられました。これは、Goで書き直され、TiDBに固有のより多くの最適化をサポートします。 mydumperの代わりにDumplingを使用することを強くお勧めします。
Mydumperの概要については、 v4.0Mydumperのドキュメントを参照してください。
Mydumperと比較したDumplingの改善
- SQLやCSVを含む複数の形式でのデータのエクスポートをサポート
- データのフィルタリングを容易にするテーブルフィルターつの機能をサポートします
- AmazonS3クラウドストレージへのデータのエクスポートをサポートします。
- TiDBに対してさらに最適化が行われます。
- 単一のTiDB SQLステートメントのメモリ制限の構成をサポート
- TiDBv4.0.0以降のTiDBGC時間の自動調整をサポート
- TiDBの非表示列
_tidb_rowid
を使用して、単一のテーブルからの同時データエクスポートのパフォーマンスを最適化します - TiDBの場合、値
tidb_snapshot
を設定して、データバックアップの時点を指定できます。これにより、一貫性を確保するためにFLUSH TABLES WITH READ LOCK
を使用する代わりに、バックアップの一貫性が保証されます。
Dumpling紹介
Dumplingは囲碁で書かれています。 Githubプロジェクトはpingcap/餃子です。
Dumplingの詳細な使用法については、 --help
オプションを使用するか、 Dumplingのオプションリストを参照してください。
Dumplingを使用する場合は、実行中のクラスタでexportコマンドを実行する必要があります。このドキュメントでは、 127.0.0.1:4000
のホストにTiDBインスタンスがあり、このTiDBインスタンスにパスワードのないrootユーザーがいることを前提としています。
tiup install dumpling
を実行すると、 TiUPを使用してDumplingを取得できます。その後、 tiup dumpling ...
を使用してDumplingを実行できます。
DumplingインストールパッケージはTiDB Toolkitに含まれています。 TiDB Toolkitをダウンロードするには、 TiDBツールをダウンロードするを参照してください。
次のコマンドを使用して、 Dumplingをインストールできます。
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source ~/.bash_profile
tiup install dumpling
上記のコマンドでは、プロファイルファイルのパスに~/.bash_profile
を変更する必要があります。
TiDB/MySQLからデータをエクスポートする
必要な特権
- 選択する
- リロード
- ロックテーブル
- レプリケーションクライアント
- 処理する
SQLファイルにエクスポート
Dumplingは、デフォルトでデータをSQLファイルにエクスポートします。 --filetype sql
フラグを追加して、データをSQLファイルにエクスポートすることもできます。
dumpling \
-u root \
-P 4000 \
-h 127.0.0.1 \
--filetype sql \
-t 8 \
-o /tmp/test \
-r 200000 \
-F 256MiB
上記のコマンドでは:
-h
、および-p
オプションは、それぞれアドレス、ポート、およびユーザーを意味し-u
。認証にパスワードが必要な場合は、-p $YOUR_SECRET_PASSWORD
を使用してパスワードをDumplingに渡すことができます。
-o
オプションは、ローカルファイルパスまたは外部ストレージのURLをサポートするストレージのエクスポートディレクトリを指定します。
-o
オプションは、ローカルファイルパスまたは外部ストレージのURLをサポートするストレージのエクスポートディレクトリを指定します。
-t
オプションは、エクスポートするスレッドの数を指定します。スレッドの数を増やすと、Dumplingの同時実行性とエクスポート速度が向上し、データベースのメモリ消費量も増加します。したがって、数値を大きく設定しすぎることはお勧めしません。通常、64未満です。-r
オプションは、1つのファイルの最大行数を指定します。このオプションを指定すると、 Dumplingにより、テーブル内の同時実行がエクスポートを高速化し、メモリ使用量を削減できます。アップストリームデータベースがTiDBv3.0以降のバージョンの場合、このパラメーターの値が0より大きい場合は、TiDB領域情報が分割に使用され、ここで指定された値は無効になることを示します。-F
オプションは、単一ファイルの最大サイズを指定するために使用されます(ここでの単位はMiB
です5GiB
や8KB
などの入力も受け入れられます)。 TiDB Lightningを使用してこのファイルをTiDBインスタンスにロードする場合は、その値を256MiB以下に保つことをお勧めします。
ノート:
エクスポートされた単一のテーブルのサイズが10GBを超える場合は、
-r
および-F
オプションを使用することを強くお勧めします。
CSVファイルにエクスポート
--filetype csv
引数を追加すると、データをCSVファイルにエクスポートできます。
データをCSVファイルにエクスポートする場合、 --sql <SQL>
を使用してSQLステートメントでレコードをフィルタリングできます。たとえば、次のコマンドを使用して、 test.sbtest1
分のid < 100
に一致するすべてのレコードをエクスポートできます。
./dumpling \
-u root \
-P 4000 \
-h 127.0.0.1 \
-o /tmp/test \
--filetype csv \
--sql 'select * from `test`.`sbtest1` where id < 100' \
-F 100MiB \
--output-filename-template 'test.sbtest1.{{.Index}}'
上記のコマンドでは:
--sql
オプションは、CSVファイルへのエクスポートにのみ使用できます。上記のコマンドは、エクスポートされるすべてのテーブルでSELECT * FROM <table-name> WHERE id <100
ステートメントを実行します。テーブルに指定されたフィールドがない場合、エクスポートは失敗します。
--sql
オプションを使用すると、 Dumplingはエクスポートされたテーブルおよびスキーマ情報を取得できません。--output-filename-template
オプションを使用してCSVファイルのファイル名形式を指定できます。これにより、後でTiDB Lightningを使用してデータファイルをインポートしやすくなります。たとえば、--output-filename-template='test.sbtest1.{{.Index}}'
は、エクスポートされたCSVファイルの名前がtest.sbtest1.000000000
またはtest.sbtest1.000000001
であることを指定します。
--sql
オプションを使用すると、 Dumplingはエクスポートされたテーブルおよびスキーマ情報を取得できません。--output-filename-template
オプションを使用して、CSVファイルのファイル名形式を指定できます。たとえば、--output-filename-template='test.sbtest1.{{.Index}}'
は、エクスポートされたCSVファイルの名前がtest.sbtest1.000000000
またはtest.sbtest1.000000001
であることを指定します。
--csv-separator
や--csv-delimiter
などのオプションを使用して、CSVファイル形式を構成できます。詳しくはDumplingオプションリストをご覧ください。
ノート:
文字列とキーワードはDumplingによって区別されません。インポートされたデータがブール型の場合、
true
の値は1
に変換され、false
の値は0
に変換されます。
エクスポートされたファイルの形式
metadata
:エクスポートされたファイルの開始時刻とマスターバイナリログの位置。cat metadata
Started dump at: 2020-11-10 10:40:19 SHOW MASTER STATUS: Log: tidb-binlog Pos: 420747102018863124 Finished dump at: 2020-11-10 10:40:20
{schema}-schema-create.sql
:スキーマの作成に使用されるSQLファイルcat test-schema-create.sql
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
{schema}.{table}-schema.sql
:テーブルの作成に使用されるSQLファイルcat test.t1-schema.sql
CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
{schema}.{table}.{0001}.{sql|csv
}:日付ソースファイルcat test.t1.0.sql
/*!40101 SET NAMES binary*/; INSERT INTO `t1` VALUES (1);
*-schema-view.sql
:*-schema-post.sql
の*-schema-trigger.sql
されたファイル
AmazonS3クラウドストレージにデータをエクスポートする
v4.0.8以降、 Dumplingはクラウドストレージへのデータのエクスポートをサポートしています。 AmazonのS3バックエンドストレージにデータをバックアップする必要がある場合は、 -o
パラメーターでS3ストレージパスを指定する必要があります。
指定したリージョンにS3バケットを作成する必要があります( Amazonドキュメント-S3バケットを作成するにはどうすればよいですかを参照)。バケット内にフォルダーも作成する必要がある場合は、 Amazonドキュメント-フォルダーの作成を参照してください。
S3バックエンドストレージにアクセスする権限を持つアカウントのSecretKey
とAccessKey
を、環境変数としてDumplingノードに渡します。
export AWS_ACCESS_KEY_ID=${AccessKey}
export AWS_SECRET_ACCESS_KEY=${SecretKey}
Dumplingは、 ~/.aws/credentials
からのクレデンシャルファイルの読み取りもサポートします。Dumplingの構成の詳細については、 外部ストレージの構成を参照してください。
Dumplingは、 ~/.aws/credentials
からのクレデンシャルファイルの読み取りもサポートします。Dumplingの構成の詳細については、 外部ストレージの構成を参照してください。
Dumplingを使用してデータをバックアップする場合は、 --s3.region
パラメーターを明示的に指定します。これは、S3ストレージの領域(たとえば、 ap-northeast-1
)を意味します。
./dumpling \
-u root \
-P 4000 \
-h 127.0.0.1 \
-r 200000 \
-o "s3://${Bucket}/${Folder}" \
--s3.region "${region}"
エクスポートされたデータをフィルタリングする
--where
オプションを使用して、データをフィルタリングします
デフォルトでは、 DumplingはシステムPERFORMANCE_SCHEMA
( mysql
、 METRICS_SCHEMA
sys
をINSPECTION_SCHEMA
)を除くすべてのデータベースをエクスポートしINFORMATION_SCHEMA
。 --where <SQL where expression>
を使用して、エクスポートするレコードを選択できます。
./dumpling \
-u root \
-P 4000 \
-h 127.0.0.1 \
-o /tmp/test \
--where "id < 100"
上記のコマンドは、各テーブルからid < 100
に一致するデータをエクスポートします。 --where
パラメータを--sql
と一緒に使用することはできないことに注意してください。
--filter
オプションを使用して、データをフィルタリングします
Dumplingは、 --filter
オプションでテーブルフィルターを指定することにより、特定のデータベースまたはテーブルをフィルター処理できます。テーブルフィルターの構文は.gitignore
の構文と似ています。詳細については、 テーブルフィルターを参照してください。
./dumpling \
-u root \
-P 4000 \
-h 127.0.0.1 \
-o /tmp/test \
-r 200000 \
--filter "employees.*" \
--filter "*.WorkOrder"
上記のコマンドは、 employees
のデータベースのすべてのテーブルとすべてのデータベースのWorkOrder
のテーブルをエクスポートします。
-B
または-T
オプションを使用して、データをフィルタリングします
Dumplingは、 -B
オプションの特定のデータベースまたは-T
オプションの特定のテーブルをエクスポートすることもできます。
ノート:
--filter
オプションと-T
オプションを同時に使用することはできません。-T
オプションは、database-name.table-name
のような完全な形式の入力のみを受け入れることができ、テーブル名のみを含む入力は受け入れられません。例:Dumplingは-T WorkOrder
を認識できません。
例:
-B employees
はemployees
のデータベースをエクスポートします。-T employees.WorkOrder
はemployees.WorkOrder
テーブルをエクスポートします。
同時実行によるエクスポート効率の向上
エクスポートされたファイルは、デフォルトで./export-<current local time>
ディレクトリに保存されます。一般的に使用されるオプションは次のとおりです。
-t
オプションは、エクスポートするスレッドの数を指定します。スレッドの数を増やすと、Dumplingの同時実行性とエクスポート速度が向上し、データベースのメモリ消費量も増加します。したがって、数値を大きく設定しすぎることはお勧めしません。-r
オプションは、単一ファイルのレコードの最大数(またはデータベース内の行数)を指定します。有効にすると、Dumplingによってテーブルの同時実行が有効になり、大きなテーブルのエクスポート速度が向上します。アップストリームデータベースがTiDBv3.0以降のバージョンの場合、このパラメーターの値が0より大きい場合は、TiDB領域情報が分割に使用され、ここで指定された値は無効になることを示します。--compress gzip
オプションは、ダンプを圧縮するために使用できます。これは、ストレージがボトルネックである場合、またはストレージ容量が懸念される場合に、データのダンプを高速化するのに役立ちます。これの欠点は、CPU使用率の増加です。各ファイルは個別に圧縮されます。
上記のオプションを指定すると、Dumplingのデータエクスポート速度を上げることができます。
Dumplingのデータ整合性オプションを調整する
ノート:
ほとんどのシナリオでは、 Dumplingのデフォルトのデータ整合性オプションを調整する必要はありません(デフォルト値は
auto
です)。
Dumplingは--consistency <consistency level>
オプションを使用して、「整合性保証」のためにデータをエクスポートする方法を制御します。一貫性を保つためにスナップショットを使用する場合は、 --snapshot
オプションを使用して、バックアップするタイムスタンプを指定できます。次のレベルの整合性を使用することもできます。
flush
:FLUSH TABLES WITH READ LOCK
を使用して、レプリカデータベースのDMLおよびDDL操作を一時的に中断し、バックアップ接続のグローバル整合性を確保し、binlog位置(POS)情報を記録します。すべてのバックアップ接続がトランザクションを開始すると、ロックが解除されます。オフピーク時またはMySQLレプリカデータベースで完全バックアップを実行することをお勧めします。snapshot
:指定されたタイムスタンプの一貫したスナップショットを取得してエクスポートします。lock
:エクスポートするすべてのテーブルに読み取りロックを追加します。none
:一貫性の保証はありません。auto
:MySQLにはflush
を使用し、TiDBにはsnapshot
を使用します。
すべてが完了すると、エクスポートされたファイルを/tmp/test
で確認できます。
ls -lh /tmp/test | awk '{print $5 "\t" $9}'
140B metadata
66B test-schema-create.sql
300B test.sbtest1-schema.sql
190K test.sbtest1.0.sql
300B test.sbtest2-schema.sql
190K test.sbtest2.0.sql
300B test.sbtest3-schema.sql
190K test.sbtest3.0.sql
TiDBの履歴データスナップショットをエクスポートする
Dumplingは、 --snapshot
オプションを指定して特定のtidb_snapshotのデータをエクスポートできます。
--snapshot
オプションは、TSO( SHOW MASTER STATUS
コマンドによって出力されるPosition
フィールド)またはdatetime
データ型の有効時間( YYYY-MM-DD hh:mm:ss
の形式)に設定できます。次に例を示します。
./dumpling --snapshot 417773951312461825
./dumpling --snapshot "2020-07-02 17:12:45"
TSOが417773951312461825
で時刻が2020-07-02 17:12:45
の場合のTiDB履歴データスナップショットがエクスポートされます。
大きなテーブルをエクスポートする際のメモリ使用量を制御する
DumplingがTiDBから大きな単一のテーブルをエクスポートしている場合、エクスポートされたデータサイズが大きすぎるためにメモリ不足(OOM)が発生し、接続の中止とエクスポートの失敗が発生する可能性があります。次のパラメータを使用して、TiDBのメモリ使用量を減らすことができます。
- エクスポートするデータをチャンクに分割するには、
-r
を設定します。これにより、TiDBのデータスキャンのメモリオーバーヘッドが削減され、同時テーブルデータダンプが可能になり、エクスポートの効率が向上します。アップストリームデータベースがTiDBv3.0以降のバージョンの場合、このパラメーターの値が0より大きい場合は、TiDB領域情報が分割に使用され、ここで指定された値は無効になることを示します。 --tidb-mem-quota-query
から8589934592
(8 GB)以下の値を減らします。--tidb-mem-quota-query
は、TiDB内の単一のクエリステートメントのメモリ使用量を制御します。--params "tidb_distsql_scan_concurrency=5"
パラメータを調整します。tidb_distsql_scan_concurrency
は、TiDBでのスキャン操作の同時実行性を制御するセッション変数です。
大量のデータ(1 TBを超える)をエクスポートする場合のTiDBGC設定
TiDB(1 TBを超える)からデータをエクスポートするときに、TiDBのバージョンがv4.0.0以降で、 DumplingがTiDBクラスタのPDアドレスにアクセスできる場合、 Dumplingは元のクラスタに影響を与えることなくGC時間を自動的に延長します。
他のシナリオでは、データサイズが非常に大きい場合、エクスポートプロセス中のGCによるエクスポートの失敗を回避するために、事前にGC時間を延長できます。
SET GLOBAL tidb_gc_life_time = '720h';
操作が完了したら、GC時間を元に戻します(デフォルト値は10m
です)。
SET GLOBAL tidb_gc_life_time = '10m';
最後に、エクスポートされたすべてのデータは、 TiDB Lightningを使用してTiDBにインポートして戻すことができます。
最後に、エクスポートされたすべてのデータをTiDBにインポートして戻すことができます。
Dumplingのオプションリスト
オプション | 使用法 | デフォルト値 | |
---|---|---|---|
-V または--version | Dumplingバージョンを出力し、直接終了します | ||
-B または--database | 指定されたデータベースをエクスポートする | ||
-T または--tables-list | 指定されたテーブルをエクスポートする | ||
-f または--filter | フィルタパターンに一致するテーブルをエクスポートします。フィルタ構文については、 テーブルフィルターを参照してください。 | [\*.\*,!/^(mysql|sys|INFORMATION_SCHEMA|PERFORMANCE_SCHEMA|METRICS_SCHEMA|INSPECTION_SCHEMA)$/.\*] (システムスキーマを除くすべてのデータベースまたはテーブルをエクスポートします) | |
--case-sensitive | table-filterで大文字と小文字が区別されるかどうか | false(大文字と小文字を区別しない) | |
-h または--host | 接続されているデータベースホストのIPアドレス | 「127.0.0.1」 | |
-t または--threads | 同時バックアップスレッドの数 | 4 | |
-r または--rows | テーブルを指定された行数の行に分割します(通常、大きなテーブルを複数のファイルに分割する同時操作に適用できます。アップストリームデータベースがTiDB v3.0以降のバージョンの場合、このパラメーターの値が0より大きい場合は、 TiDB領域情報は分割に使用され、ここで指定された値は無効になります。 | ||
-L または--logfile | ログ出力アドレス。空の場合、ログはコンソールに出力されます | 「」 | |
--loglevel | ログレベル{デバッグ、情報、警告、エラー、dpanic、panic、致命的} | "情報" | |
--logfmt | ログ出力形式{text、json} | "文章" | |
-d または--no-data | データをエクスポートしない(スキーマのみがエクスポートされるシナリオに適しています) | ||
--no-header | ヘッダーを生成せずにテーブルのCSVファイルをエクスポートする | ||
-W または--no-views | ビューをエクスポートしないでください | 真実 | |
-m または--no-schemas | データのみをエクスポートした状態でスキーマをエクスポートしないでください | ||
-s または--statement-size | INSERT ステートメントのサイズを制御します。単位はバイトです | ||
-F または--filesize | 分割されたテーブルのファイルサイズ。単位は128B の32MiB に1.5GiB する必要があり64KiB 。 | ||
--filetype | エクスポートされたファイルタイプ(csv / sql) | 「sql」 | |
-o または--output | エクスポートされたローカルファイルのパスまたは外部ストレージのURL | "./export-${time}" | |
-S または--sql | 指定されたSQLステートメントに従ってデータをエクスポートします。このコマンドは、同時エクスポートをサポートしていません。 | ||
--consistency | フラッシュ:ダンプの前にFTWRLを使用します スナップショット:TSOの特定のスナップショットのTiDBデータをダンプします ロック:ダンプするすべてのテーブルで lock tables read を実行しますなし:ロックを追加せずにダンプします。これは一貫性を保証できません 自動:MySQLの--consistencyflushを使用します。 TiDBの--consistencyスナップショットを使用します | 「自動」 | |
--snapshot | スナップショットTSO; consistency=snapshot の場合にのみ有効 | ||
--where | where の条件でテーブルバックアップの範囲を指定します | ||
-p または--password | 接続されているデータベースホストのパスワード | ||
-P または--port | 接続されたデータベースホストのポート | 4000 | |
-u または--user | 接続されたデータベースホストのユーザー名 | "根" | |
--dump-empty-database | 空のデータベースのCREATE DATABASE のステートメントをエクスポートします | 真実 | |
--ca | TLS接続用の認証局ファイルのアドレス | ||
--cert | TLS接続用のクライアント証明書ファイルのアドレス | ||
--key | TLS接続用のクライアント秘密鍵ファイルのアドレス | ||
--csv-delimiter | CSVファイルの文字型変数の区切り文字 | '"' | |
--csv-separator | CSVファイルの各値の区切り文字。デフォルトの「、」を使用することはお勧めしません。 ' | + | 'の使用をお勧めしますまたは他の珍しい文字の組み合わせ |
--csv-null-value | CSVファイルでのnull値の表現 | 「\N」 | |
--escape-backslash | バックスラッシュ( \ )を使用して、エクスポートファイル内の特殊文字をエスケープします | 真実 | |
--output-filename-template | golangテンプレートの形式で表されるファイル名テンプレート{{.DB}} 、および{{.Table}} 引数を{{.Index}} する3つの引数は、データファイルのデータベース名、テーブル名、およびチャンクIDを表します。 | '{{。DB}}。{{。Table}}。{{。Index}}' | |
--status-addr | Prometheusがメトリックとpprofデバッグをプルするためのアドレスを含む餃子のサービスアドレス | ":8281" | |
--tidb-mem-quota-query | 1行のDumplingコマンドでSQLステートメントをエクスポートする際のメモリ制限。単位はバイトです。 v4.0.10以降のバージョンでは、このパラメーターを設定しない場合、TiDBはデフォルトでmem-quota-query 構成項目の値をメモリー制限値として使用します。 v4.0.10より前のバージョンの場合、パラメーター値のデフォルトは32GBです。 | 34359738368 | |
--params | エクスポートするデータベースの接続のセッション変数を指定します。必要な形式は"character_set_client=latin1,character_set_connection=latin1" です |
- Mydumperと比較したDumplingの改善
- Dumpling紹介
- TiDB/MySQLからデータをエクスポートする
- Dumplingのオプションリスト