使用 TiDB Lightning 从 Amazon Aurora MySQL 迁移全量数据
本文介绍如何使用 TiDB Lightning 从 Amazon Aurora MySQL 迁移全量数据到 TiDB。
请参考 AWS 官方文档:将数据库快照数据导出到 Amazon S3 将 Aurora 数据的快照导出到 Amazon S3。
具体的部署方法见 。
根据部署方式不同,按如下步骤编辑配置文件 。
将 配置文件中
[mydumper]
部分的data-source-dir
设置为第一步导出的 S3 Bucket 路径。-
[tidb]
# 目标集群的信息。tidb-server 的地址,填一个即可
host = "172.16.31.1"
port = 4000
# 集群的 PD 地址
pd-addr = "127.0.0.1:2379"
设置后端模式。
设置文件路由。
[mydumper]
no-schema = true
[mydumper.files]
# 使用单引号字符串避免转义
table = '$2'
type = '$3'
其它配置参考 。
由于从 Aurora 导出至 S3 的快照数据没有包含用于创建库表的 SQL 语句文件,所以需要手动将对应库表的建表语句导出并导入至 TiDB。可以使用 Dumpling + TiDB Lightning 的方式创建所有表结构:
使用 TiDB Lightning 创建表结构
./tidb-lightning -config tidb-lightning.toml -d ./schema -no-schema=false
此次启动 TiDB Lightning 只用于创建表结构,通常能迅速执行完以上命令。在常规速度下,每秒可以执行约 10 条建表语句。
运行 TiDB Lightning。如果直接在命令行中用 nohup
启动程序,可能会因为 SIGHUP 信号而退出,建议把 nohup
放到脚本里面,如:
- 通过监控面板查看进度,具体参见 TiDB-Lightning 监控。