【TiDB 4.0 PCTA 学习笔记】- 3.6.3 Data migration from Aurora(如何将数据从 Aurora 迁移到 TiDB)@1班+Kun

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

学习时长:10min

课程收获:了解分库分表架构下数据库数据如何迁移至 TiDB

课程内容:DM

Prometheus:采集任务监控数据,以便被 Grafana 展示
dmctl:控制 DM 集群的命令行工具。创建、更新或删除数据迁移任务;查看数据迁移任务状态;处理数据迁移任务错误;校验数据迁移任务配置的正确性

DM-master :管理和调度数据迁移任务的各项操作。保存 DM 集群的拓扑信息;监控 DM-worker 进程的运行状态;监控数据迁移任务的运行状态;提供数据迁移任务管理的统一入口;协调分库分表时各实例分表的 DDL 迁移

DM-worker:执行具体的数据迁移任务。将 binlog 数据持久化保存在本地;保存迁移子任务的配置信息;编排数据迁移子任务;监控迁移子任务状态

支持版本:5.5 < MySQL 版本 < 8.0;MariaDB 版本 >= 10.1.2
目前仅支持 TiDB parser 支持的 DDL 语法。
DM 遇到不兼容的 DDL 语句时会报错,需要使用 dmctl 手动处理,跳过该 DDL 语句,或用指定的 DDL 语句来替换它。
分库分表:存在数据冲突,用自增主键来解决。
DM-worker 重启后不能自动恢复数据迁移任务,需要使用 dmctl 手动执行 start-task

当 DM-worker 通过虚拟VIP连接到 MySQL 且要切换 VIP 指向的 MySQL 实例时,对 DM 手动执行变更。

DM 集群停启:
ansible -i inventory.ini all -m shell -a ‘whoami’

ansible -i inventory.ini all -m shell -a ‘whoami’ -b

ansible-playbook deploy.yml

ansible-playbook start.yml

ansible-playbook stop.yml

任务配置文件示例

交互模式,与 DM-master 进行交互:
./dmctl -master-addr 172.16.30.14:8261
./dmctl -master-addr 172.16.30.14:8261
start-task [ -w “172.16.30.15:8262”] ./task.yaml

query-status

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

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

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