TiDB数据库11数据迁移工具 TiDB Data Migration (DM)

1.介绍

 2.原理和架构

DM-master负责管理和调度数据迁移任务的各项操作。

DM-worker负责执行具体的数据迁移任务。

多个master,多个worker分别构成一个集群(高可用),对外提供服务。

一个DM-worker对应一个源数据库。

 3.适用场景

DM支持全量和增量的数据迁移,能够支持异构数据库表的迁移;DM迁移是异步迁移,源库的修改在目标库上不一定马上能够看到。

 4.使用TiUP部署DM集群

4.1 编辑初始化配置文件

 4.2 执行部署命令

 4.3 查看集群

 4.4 查看集群状态

 4.5 启动集群

 5.DM的配置

 

(1)MySQL:获取登录信息,需要开Binlog

(2)Data Filter:数据过滤。Table block and Allow Lists(表,库)、Binlog Event Filter(操作)

(3)Table Routing: 表路由,表的映射。

5.1 上游数据库的配置(Mysql)

mysql需要写一个配置文件,例如:source1.yml

用以下命令将数据源载入到DM中。

tiup dmctl --master add (PD) operate - source create source1.yml

 5.2 任务配置

写一个task.yaml文件。

task-mode:all(全量+增量)

 

block-allow-list:配置对哪些表进行过滤。用于过滤对于某些数据库或表的所有操作。

filter-rule:配置哪些操作的过滤。用于过滤源数据库中特定表的特定操作。

(1)表、库的过滤

 

(2)操作的过滤(Binlog event filter)

 (3)源表和目标表的对应关系(table routings)

 

(4)分库分表合并迁移

 5.3 检查与启动任务

 5.4 暂停任务

 5.5 任务恢复

 5.6 查询任务

 5.7 停止任务

 6 性能优化

 chunk-filesize默认64M

pool-size并发导入的线程数,默认是16。

worker-count:默认是16

7.常见问题

 8.DM使用限制

 9 随堂练习

(1)

 答案:AD

解析:DM工具支持异构表的迁移,DM既能做全量迁移,也支持增量迁移。

(2)

 答案:ACE

解析:Block &Allow Table Lists 用于库、表的过滤,Binlog event filter 用于过滤源数据库中特定表的特定类型操作(对操作进行过滤)。

原文地址:https://www.cnblogs.com/luckyplj/p/15732398.html