DAY13
TIdb数据迁移工具介绍
Dumpling
可以把tidb mysql数据导出为sql csv格式,可以完成逻辑上的完全备份或者导出
简介
Go开发的数据库备份工具
-help查看使用功能
使用dumpling时需要在已经启动的集群上执行导出命令
Dumpling包含在tidb-toolkit 安装包中
与mydumper相比的优点
- 支持导出多种数据形式,包括 SQL/CSV
- 支持全新的 table-filter,筛选数据更加方便
- 针对 TiDB 进行了更多优化:
支持配置 TiDB 单条 SQL 内存限制
针对 TiDB v4.0.0 以上版本支持自动调整 TiDB GC 时间
使用 TiDB 的隐藏列 _tidb_rowid 优化了单表内数据的并发导出性能
对于 TiDB 可以设置 tidb_snapshot 的值指定备份数据的时间点,从而保证备份的一致性,而不是通过 FLUSH TABLES WITH READ LOCK 来保证备份一致性。
TIDB Lighting
TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具
TiDB Lightning 有以下两个主要的使用场景:一是大量新数据的快速导入;二是全量备份数据的恢复。目前,Lightning 支持 Dumpling 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning:
迅速导入大量新数据。
恢复所有备份数据。
架构:
https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-overview
tidb自增ID不一定连续
DM2.0
iDB Data Migration (DM) 是一体化的数据迁移任务管理平台,支持从 MySQL 或 MariaDB 到 TiDB 的全量数据迁移和增量数据复制。使用 DM 工具有利于简化错误处理流程,降低运维成本。
介绍
https://docs.pingcap.com/zh/tidb-data-migration/stable/overview
如何将数据从mysql导入tidb
Lighting 有tidb-import模式和tidb-backend模式
tidb-import导入模式效率高 但是不提供对外访问
dumpling 需要有操作库相关的授权
select
reload
lock tables
replication client
tidb4.0以上版本gc时间自动修改,其他需要手动需改
dumpling参数中-F默认为M 可以接收8G等参数
lighting配置
将 [mydumper] 下的 data-source-dir 设置为 MySQL 的 SQL 文件路径。
[mydumper]
数据源目录
data-source-dir = “/data/export”
增加目标集群 TiDB 的配置。
[tidb]
目标集群的信息。tidb-server 的地址,填一个即可
host = “172.16.31.1”
port = 4000
user = “root”
password = “”
把 nohup 放到脚本里面
!/bin/bash
nohup ./tidb-lightning -config tidb-lightning.toml > nohup.out &
导入开始后,可以采用以下两种方式查看进度:
通过 grep 日志关键字 progress 查看进度,默认 5 分钟更新一次。
通过监控面板查看进度,具体参见 TiDB-Lightning 监控。