课程名称:课程版本(101/201/301)+ 课程名称
学习时长:1H
课程收获:单机 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集群的配置
- tidb-lightning.toml
- inventory.ini文件,importer_server留白,只填入lightning_server这一节
- 使用lightning导入
- 推荐在脚本中运行nohup
- 查看进度
- 使用关键字progress来grep log,progress默认每5分钟更新一次
- 或使用监控面板
- 推荐在脚本中运行nohup
- Lightning支持TiKV-importer和TiDB-Backend模式