课程名称:3.6.2 如何将数据从 MySQL 迁移到 TiDB
学习时长:12min
课程收获:单机 Mysql 数据库如何进行数据迁移到 TiDB
课程内容:
-
使用Dumpling生成MySQL的SQL文件
-
下载
-
所需权限
- select
- reload
- lock tables
- replication client
-
调整GC时间(从TiDB导出时)
-
版本>=4.0且可访问PD,则自动延长GC时间,导出结束后自动恢复
-
版本<=4.0,需手动调整
-
-
导出为SQL文件
-
常见参数
- -B 指定导出数据的名称
- -T 指定导出数据表
- -F 单个文件最大大小,默认单位是MiB,可以接受像5GiB或8KB这类的输入
- -r 单文件最大行数
- –filter 过滤指定系统表
- –where 导出表的where条件
-
-
使用Lightning的TiDB-Backend模式导入数据到TiDB
-
Lightning支持TiKV-importer和TiDB-Backend模式
- TiKV-importer模式导入过程中集群不能对外服务,导入效率高
- TiDB-Backend模式导入过程中集群可对外服务,导入效率较低
-
使用ansible部署lightning
-
inventory.ini文件,importer_server留白,只填入lightning_server这一节
-
忽略group_vars/all.yml文件中的tikv_importer_port这一部分,只修改conf/tidb-lightning.yml
-
部署lightning
-
lightning配置
-
tidb-lightning.toml
-
设置[mydumper]的data-source为SQL文件所在目录
-
添加目标TiDB集群的配置
-
-
-
-
使用lightning导入
-
推荐在脚本中运行nohup
-
查看进度
- 使用关键字progress来grep log,progress默认每5分钟更新一次
- 或使用监控面板
-
-