
1 基础知识
1.1 软件简介
– TiDB DM的英文全称为TiDB Data Migration
– TiDB DM是一款便捷的数据迁移工具
– TiDB DM支持从MySQL协议兼容的数据库(MySQL、MariaDB、Aurora MySQL)到TiDB的全量数据迁移和增量数据同步。
– TiDB DM可以简化迁移工程、降低数据迁移成本。
2.1 产品特点
– TiDB高度兼容MySQL协议
– TiDB DM支持解析和同步binlog的DML和DDL事件
– TiDB DM支持合库合表同步模式
– TiDB DM支持预定义事件类型、正则表达式、SQL表达式等多种方式在数据同步过程中对MySQL事件进行过滤
– TiDB DM支持上千个节点的集群,支持同时运行并集中管理大量数据迁移同步。
– TiDB DM对gh-ost和pt-osc等工具进行特殊优化,可避免不必要的中间数据库进行迁移。
– TiDB DM支持高可用,在不同就诶点自由调度,少量工作节点宕机不影响进行中的任务。
2.2 使用限制
– 仅支持MySQL 5.6 ~ 8.0
– 仅支持mariaDB >= 10.1.2(如果MySQL或MariDB主从结构则MySQL > 5.7.1或MariaDB >= 10.13)
– 仅支持TiDB parser支持的DDL语法,详见TiDB DDL语法支持
– 仅支持部分字符集,DM v5.4.0之前不支持将charset=GBK的表迁移至TiDB
– 仅支持Binlog旧功能,不支持MySQL 8.0的新特性binlog事务压缩
– 仅支持非向量类型数据同步,DM不支持迁移或同步MySQL 9.0的向量数据类型到TiDB
2 最佳实践
2.1 部署tidb集群环境
2.2 安装配置DM
2.2.1 切换身份
In hd24
su - tidb
2.2.2 安装dm和dmctl组件
In hd24
tiup install dm dmctl
2.2.3 创建DM集群配置文件
In hd24
cd /data/tidb/install/config-yaml vim dm.yaml
加入如下配置,
global: user: "tidb" ssh_port: 22 deploy_dir: "/data/tidb/dm-deploy" data_dir: "/data/tidb/dm-data" arch: "amd64" server_configs: master: openapi: true log-level: info worker: log-level: info master_servers: - host: hd24.cmdschool.org name: master1 deploy_dir: "/data/tidb/dm-deploy/dm-master-8261" data_dir: "/data/tidb/dm-data/dm-master-8261" log_dir: "/data/tidb/dm-deploy/dm-master-8261/log" config: log-level: info worker_servers: - host: hd25.cmdschool.org deploy_dir: "/data/tidb/dm-deploy/dm-worker-8262" log_dir: "/data/tidb/dm-deploy/dm-worker-8262/log" config: log-level: info
2.2.4 部署DM集群
In hd24
tiup dm deploy dm-cluster v8.5.1 ./dm.yaml -u tidb -i ~/.ssh/id_rsa
然后,你可以使用如下命令查看部署的DM集群列表,
tiup dm list
然后,你可以使用如下命令查看部署的DM集群状态,
tiup dm display dm-cluster
注:由于集群尚未启动,因此会出现“Down”或“N/A”状态
2.2.5 启动DM集群
In hd24
tiup dm start dm-cluster
然后,你可以再次使用如下命令查看部署的集群状态,
tiup dm display dm-cluster
正常的集群,可见如下信息,
Starting component dm: /home/tidb/.tiup/components/dm/v1.16.1/tiup-dm display dm-cluster Cluster type: dm Cluster name: dm-cluster Cluster version: v8.5.1 Deploy user: tidb SSH type: builtin ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- hd24.cmdschool.org:8261 dm-master hd24.cmdschool.org 8261/8291 linux/x86_64 Healthy|L /data/tidb/dm-data/dm-master-8261 /data/tidb/dm-deploy/dm-master-8261 hd25.cmdschool.org:8262 dm-worker hd25.cmdschool.org 8262 linux/x86_64 Free /data/tidb/dm-data/dm-worker-8262 /data/tidb/dm-deploy/dm-worker-8262 Total nodes: 2
参阅文档
=================
https://docs.pingcap.com/zh/tidb/stable/dm-overview/
没有评论