主要选项
用途
-V 或 --version
输出 Dumpling 版本并直接退出
-B 或 --database
导出指定数据库
-T 或 --tables-list
导出指定数据表
-f 或 --filter
导出能匹配模式的表,语法可参考 table-filter
--case-sensitive
table-filter 是否大小写敏感
-h 或 --host
连接的数据库主机的地址
-t 或 --threads
备份并发线程数
-r 或 --rows
用于开启表内并发加速导出。默认值是 ,表示不开启。取值大于 0 表示开启,取值是 INT 类型。当数据源为 TiDB 时,设置 参数大于 0 表示使用 TiDB region 信息划分区间,同时减少内存使用。具体取值不影响划分算法。对数据源为 MySQL 且表的主键是 INT 的场景,该参数也有表内并发效果。
-L 或 --logfile
日志输出地址,为空时会输出到控制台
--loglevel
日志级别 {debug,info,warn,error,dpanic,panic,fatal}
--logfmt
日志输出格式 {text,json}
-d 或 --no-data
不导出数据,适用于只导出 schema 场景
--no-header
导出 csv 格式的 table 数据,不生成 header
-W 或 --no-views
不导出 view
-m 或 --no-schemas
不导出 schema,只导出数据
-s 或--statement-size
控制 SQL 语句的大小,单位 bytes
-F 或 --filesize
将 table 数据划分出来的文件大小,需指明单位(如 , , , )
--filetype
导出文件类型(csv/sql)
-o 或 --output
导出本地文件的绝对路径或外部存储 URI 格式
-S 或 --sql
根据指定的 sql 导出数据,该选项不支持并发导出
--consistency
flush: dump 前用 FTWRL
snapshot: 通过 TSO 来指定 dump 某个快照时间点的 TiDB 数据
lock: 对需要 dump 的所有表执行 命令
none: 不加锁 dump,无法保证一致性
auto: 对 MySQL 使用 --consistency flush;对 TiDB 使用 --consistency snapshot
--snapshot
snapshot tso,只在 consistency=snapshot 下生效
--where
对备份的数据表通过 where 条件指定范围
-p 或 --password
连接的数据库主机的密码
-P 或 --port
连接的数据库主机的端口
-u 或 --user
连接的数据库主机的用户名
--dump-empty-database
导出空数据库的建库语句
--ca
用于 TLS 连接的 certificate authority 文件的地址
--cert
用于 TLS 连接的 client certificate 文件的地址
--key
用于 TLS 连接的 client private key 文件的地址
--csv-delimiter
csv 文件中字符类型变量的定界符
--csv-separator
csv 文件中各值的分隔符,如果数据中可能有逗号,建议源文件导出时分隔符使用非常见组合字符
--csv-null-value
csv 文件空值的表示
--escape-backslash
使用反斜杠 () 来转义导出文件中的特殊字符
--output-filename-template
以 golang template 格式表示的数据文件名格式
支持 、、 三个参数
分别表示数据文件的库名、表名、分块 ID
--status-addr
Dumpling 的服务地址,包含了 Prometheus 拉取 metrics 信息及 pprof 调试的地址
--tidb-mem-quota-query
单条 dumpling 命令导出 SQL 语句的内存限制,单位为 byte。对于 v4.0.10 或以上版本,若不设置该参数,默认使用 TiDB 中的 配置项值作为内存限制值。对于 v4.0.10 以下版本,该参数值默认为 32 GB
--params