app开发者平台在数字化时代的重要性与发展趋势解析
1135
2022-10-09
tidb的全量逻辑导出数据工具dumpling
######################
功能:
Dumpling 是一个用于从 MySQL/TiDB 进行全量逻辑导出的工具。你可以把存储在 TiDB 或 MySQL 中的数据导出为 SQL 或 CSV 格式,用于逻辑全量备份。
数据源:不仅能够导出mysql的数据,而且还可以导出tidb的数据;格式:数据导出格式可以为sql文件格式,也可以导出为csv格式。这种格式方便迁移到其他数据库;用途:逻辑备份数据
基本信息:
Dumpling 的输入:MySQL/TiDB 集群Dumpling 的输出:SQL/CSV 文件适用 TiDB 版本:所有版本Kubernetes 支持:尚未支持
权限要求:
selectreloadlock tablesreplication clientprocess
原理:
适用场景:
数据量较小,不适合大数据量导出;需要导出数据为sql或csv格式的需求只能全量导出数据,不能增量导出数据
导出数据后的元数据信息metadata:此文件包含导出的起始时间,以及 master binary log 的位置。
[work@xxx]$ cat metadataStarted dump at: 2021-10-14 15:46:56SHOW MASTER STATUS: Log: mysql-bin.000224 Pos: 1990 GTID:ef863667-298a-11eb-8d0b-0c42a15d0b4c:1-175408Finished dump at: 2021-10-14 16:01:41
安装dumpling:
shell>>
查看dumpling命令参数:
shell>> tiup dumpling --help
metadata:此文件包含导出的起始时间,以及 master binary log 的位置。Copycat metadataStarted dump at: 2020-11-10 10:40:19SHOW MASTER STATUS: Log: tidb-binlog Pos: 420747102018863124Finished dump at: 2020-11-10 10:40:20{schema}-schema-create.sql:创建 schema 的 SQL 文件。Copycat test-schema-create.sqlCREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;{schema}.{table}-schema.sql:创建 table 的 SQL 文件Copycat test.t1-schema.sqlCREATE TABLE `t1` ( `id` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;{schema}.{table}.{0001}.{sql|csv}:数据源文件Copycat test.t1.0.sql/*!40101 SET NAMES binary*/;INSERT INTO `t1` VALUES(1);*-schema-view.sql、*-schema-trigger.sql、*-schema-post.sql:其他导出文件
备份命令:
shell>> tiup dumpling --user root -p 123456 --host 10.10.10.10 --port 3306 --filetype sql -t 8 -F 102400MiB -o /home/work/scripts/tmp/10.10.10.10 --database apple,google,airbnb
当你只需要备份mysql或tidb的部分数据库时,用--database指定数据库时,各个数据库名称之间用逗号分割,而不是空格
选项:--sql说明:选项仅仅可用于导出 CSV 的场景。 举例:--sql 'select * from `test`.`sbtest1` where id < 100'
选项:--where说明:条件用于除系统数据库(包括 mysql 、sys 、INFORMATION_SCHEMA 、PERFORMANCE_SCHEMA、METRICS_SCHEMA 和 INSPECTION_SCHEMA)外所有其他数据库举例:--where "id < 100"
选项: --filter 说明:帅选库表,多个匹配规则就用多个--filter规则举例: --filter "employees.*" --filter "*.WorkOrder" 只备份employees库中所有表,和所有库中的WorkOrder表
选项:--threads ,可简写为-t说明:指定备份并发线程数,默认为4举例:--threads 8
选项:--tables-list,可简写为-T说明:指定备份表,需要库名称前缀举例:--tables-list my_db.my_table
选项:--consistency,可简写为-T说明:指定备份表,需要库名称前缀举例:--consistency autoDumpling 通过 --consistency
选项:--rows,可简写为-r说明:单个文件的最大行数举例:--rows 2000000
#########################
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~