使用 TiDB Lightning 从 Amazon Aurora MySQL 迁移全量数据

    请参考 将 Aurora 数据的快照导出到 Amazon S3。

    具体的部署方法见 TiDB Lightning 部署

    根据部署方式不同,按如下步骤编辑配置文件 。

    1. 将 配置文件中 [mydumper] 部分的 data-source-dir 设置为导出的 S3 Bucket 路径。

    2. 增加目标集群 TiDB 的配置。

      1. [tidb]
      2. # 目标集群的信息。tidb-server 的地址,填一个即可
      3. host = "172.16.31.1"
      4. port = 4000
      5. # 集群的 PD 地址
      6. pd-addr = "127.0.0.1:2379"
    3. 设置文件路由。

      1. [mydumper]
      2. no-schema = true
      3. [mydumper.files]
      4. # 使用单引号字符串避免转义
      5. table = '$2'
      6. type = '$3'

    其它配置参考 TiDB Lightning 配置

    由于从 Aurora 导出至 S3 的快照数据没有包含用于创建库表的 SQL 语句文件,所以需要手动将对应库表的建表语句导出并导入至 TiDB。可以使用 Dumpling + TiDB Lightning 的方式创建所有表结构:

    1. 使用 Dumpling 导出表结构文件:

    2. 使用 TiDB Lightning 创建表结构

      1. ./tidb-lightning -config tidb-lightning.toml -d ./schema -no-schema=false

      此次启动 TiDB Lightning 只用于创建表结构,通常能迅速执行完以上命令。在常规速度下,每秒可以执行约 10 条建表语句。

    运行 TiDB Lightning。如果直接在命令行中用 nohup 启动程序,可能会因为 SIGHUP 信号而退出,建议把 nohup 放到脚本里面,如:

    导入开始后,可以采用以下两种方式查看进度:

    • 通过监控面板查看进度,具体参见 。