zoukankan      html  css  js  c++  java
  • 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 用于过滤源数据库中特定表的特定类型操作(对操作进行过滤)。

  • 相关阅读:
    phpstorm 2016.3.2 的最新破解方法(截止2017-2-20)
    在GitHub多个帐号上添加SSH公钥
    mac laravel 环境变量设置bash_profile
    Laravel的三种安装方法总结
    laravel登录后台500错误!
    composer镜像安装laravel
    phpstorm 代码按列对齐
    .DS_Store 文件是什么?Mac下面如何禁止.DS_Store生成
    如何在Mac下显示Finder中的所有文件
    PHP_环境配置_python脚本_2017
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15732398.html
Copyright © 2011-2022 走看看