一、DM的概念(适用场景)
是一款迁移工具
Dm master做管理,调度。3个有高可用特性。
Dm worker对上游数据源是一对一的,其中一个dm worker出问题,free的会顶上去。
worker数据量要大于源实例。
如果有10个分片,那起码要11个worker
dmctl——dm master——DM worker——tidb
适用场景
1.兼容mysql迁移同步数据,全量+增量
2.分表分库合并同步
3.源端、目标端异构表同步
异构表
Id,name——id,name,haha
DM限制
1.数据库版本
Mysql 5.5——5.7 8.0
mariaDB 大于等于10.1.2
2.ddl语法兼容
查看语法是否兼容
3.字符集限制
Tidb5.4后支持gbk字符集
二、DM的部署
方法一
1.安装、升级dm、dmctl
tiup install dm dmctl
升级
tiup update --self && tiup update dm
2.生成拓扑配置文件
tiup dm template > topology_dm.yaml
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/home/tidb/dm/deploy"
data_dir: "/home/tidb/dm/data"
# arch: "amd64"
master_servers:
- host: 172.19.0.101
- host: 172.19.0.102
- host: 172.19.0.103
worker_servers:
- host: 172.19.0.101
- host: 172.19.0.102
- host: 172.19.0.103
monitoring_servers:
- host: 172.19.0.101
grafana_servers:
- host: 172.19.0.101
alertmanager_servers:
- host: 172.19.0.101
3.部署dm
查看dm master可用版本
tiup list dm-master
格式:
tiup dm depoly dm-test ${version} /xxx/topology_dm.yaml --user root [-p] [-I /home/root/.ssh/gcp_rsa]
Eg.
tiup dm deploy dm-test v6.1.0 /tmp/w/topology_dm.yaml --user root -p
查看状态
tiup dm list
4.启动dm
查看dm组件
tiup dm display dm-test
启动dm
tiup dm start dm-test