【TiDB 4.0 PCTA 学习笔记】-3.6.2 Data migration from MySQL(如何将数据从 MySQL 迁移到 TiDB)@2班+邱育珍

课程名称:3.6.2 Data migration from MySQL(如何将数据从 MySQL 迁移到 TiDB)

学习时长:15min

课程收获:

了解单机 Mysql 数据库如何进行数据迁移到 TiDB

课程内容:

1.使用Dumpling从MySQL导出SQL 文件


需要的权限

导出到 sql 文件

Dumpling 默认导出数据格式为 sql 文件。也可以通过设置 --filetype sql 导出数据到 sql 文件:

dumpling \
  -u root \
  -P 4000 \
  -h 127.0.0.1 \
  --filetype sql \
  --threads 32 \
  -o /tmp/test \
  -F 256MiB

上述命令中, -h-P-u 分别是地址,端口,用户。如果需要密码验证,可以用 -p $YOUR_SECRET_PASSWORD 传给 Dumpling。

导出到 csv 文件

假如导出数据的格式是 CSV(使用 --filetype csv 即可导出 CSV 文件),还可以使用 --sql <SQL> 导出指定 SQL 选择出来的记录,例如,导出 test.sbtest1 中所有 id < 100 的记录:

./dumpling \
  -u root \
  -P 4000 \
  -h 127.0.0.1 \
  -o /tmp/test \
  --filetype csv \
  --sql 'select * from `test`.`sbtest1` where id < 100'

2.使用TiDB Lightning 从TiDB-backend模式导入数据至TiDB



部署 TiDB Lightning

第 1 步:部署 TiDB 集群

在开始数据导入之前,需先部署一套要进行导入的 TiDB 集群(版本要求 2.0.9 以上),本教程使用 TiDB 4.0.3 版本。部署方法可参考 TiDB 部署方式

第 2 步:下载 TiDB Lightning 安装包

通过以下链接获取 TiDB Lightning 安装包(选择与 TiDB 集群相同的版本):

第 3 步:启动 tidb-lightning
  1. 将安装包里的 bin/tidb-lightningbin/tidb-lightning-ctl 上传至部署 TiDB Lightning 的服务器。
  2. 将数据源也上传到同样的服务器。
  3. 配置 tidb-lightning.toml
[lightning]
# 日志
level = "info"
file = "tidb-lightning.log"

[tikv-importer]
# 选择使用的 local 后端
backend = "local"
# 设置排序的键值对的临时存放地址,目标路径需要是一个空目录
"sorted-kv-dir" = "/mnt/ssd/sorted-kv-dir"

[mydumper]
# 源数据目录。
data-source-dir = "/data/my_datasource/"

[tidb]
# 目标集群的信息
host = "172.16.31.2"
port = 4000
user = "root"
password = "rootroot"
# 表架构信息在从 TiDB 的“状态端口”获取。
status-port = 10080
# 集群 pd 的地址
pd-addr = "172.16.31.3:2379"
  1. 配置合适的参数运行 tidb-lightning 。如果直接在命令行中用 nohup 启动程序,可能会因为 SIGHUP 信号而退出,建议把 nohup 放到脚本里面,如:
#!/bin/bash
nohup ./tidb-lightning -config tidb-lightning.toml > nohup.out &
第 4 步:检查数据

导入完毕后,TiDB Lightning 会自动退出。若导入成功,日志的最后一行会显示 tidb lightning exit

如果出错,请参见 TiDB Lightning 错误排解

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!