TiDB Data Migration 1.0.x 到 2.0+ 手动升级

    下面是手动升级的具体步骤。

    准备的 v2.0+ 的配置文件包括上游数据库的配置文件以及数据迁移任务的配置文件。

    在 v2.0+ 中将上游数据库 source 相关的配置从 DM-worker 的进程配置中独立了出来,因此需要根据 拆分得到 source 配置。

    从 DM-Ansible 部署的 v1.0.x 升级

    如果 v1.0.x 是使用 DM-Ansible 部署的,且假设在 inventory.ini 中有如下 dm_worker_servers 配置:

    则可以转换得到如下两个 source 配置文件:

    1. # 原 dm_worker1 对应的 source 配置,如命名为 source1.yaml
    2. server-id: 101 # 对应原 `server_id`
    3. source-id: "mysql-replica-01" # 对应原 `source_id`
    4. from:
    5. port: 3306 # 对应原 `mysql_port`
    6. user: "root" # 对应原 `mysql_user`
    7. password: "VjX8cEeTX+qcvZ3bPaO4h0C80pe/1aU=" # 对应原 `mysql_password`

    从 Binary 部署的 v1.0.x 升级

    1. log-level = "info"
    2. log-file = "dm-worker.log"
    3. worker-addr = ":8262"
    4. server-id = 101
    5. flavor = "mysql"
    6. [from]
    7. host = "172.16.10.81"
    8. user = "root"
    9. password = "VjX8cEeTX+qcvZ3bPaO4h0C80pe/1aU="
    10. port = 3306

    则可转换得到如下的一个 source 配置文件:

    数据迁移任务配置文件

    对于,v2.0+ 基本与 v1.0.x 保持兼容,可直接复制 v1.0.x 的配置。

    按所需要节点数部署新的 v2.0+ 集群。

    如果原 v1.0.x 集群是使用 DM-Ansible 部署的,则。

    如果原 v1.0.x 集群是使用 Binary 部署,则直接停止 DM-worker 与 DM-master 进程。

    1. 使用 命令将 准备 v2.0+ 的配置文件 中得到的上游数据库 source 配置加载到 v2.0+ 集群中。

    2. 更新 v1.0.x 的数据迁移任务配置文件以启动新的 v2.0+ 数据迁移任务。

      • 如 v1.0.x 的数据迁移任务配置文件为 task_v1.yaml,则将其复制一份为 task_v2.yaml
      • task_v2.yaml 进行以下修改:

        • name 修改为一个新的、不存在的名称,如 task_v2
        • task-mode 修改为 incremental
        • 根据 step.2 中获取的全局 checkpoint 信息,为各 source 设置增量复制的起始点,如:

    3. 使用 命令以 v2.0+ 的数据迁移任务配置文件启动升级后的数据迁移任务。

    4. 使用 query-status 命令确认数据迁移任务是否运行正常。