迁移步骤

更新时间:
复制 MD 格式

本文介绍了一键迁移RDS MySQLPolarDB-X 2.0标准版的迁移步骤。

前置检查:检查是否已创建PolarDB-X 2.0服务关联角色

在使用逻辑迁移(DTS数据传输)方式进行一键迁移前,请先检查是否已创建PolarDB-X服务关联角色,以及是否已授予DTS访问云资源的权限

  • 检查是否已创建PolarDB-X服务关联角色的具体步骤如下:

    1. 前往PolarDB分布式资源授权页面。

    2. 单击激活授权,会自动跳转到授权页面。页面显示 DRDS 请求获取访问云资源的权限,系统默认创建的角色名称为 AliyunDRDSDefaultRole

    3. 单击同意授权,回到PolarDB分布式资源授权页面,显示“已激活”表示已经开通权限。激活成功后,页面中的按钮将显示为 已激活,表示 PolarDB-X 访问 RDS 服务的授权角色已成功创建。

  • 检查是否已授予DTS访问云资源的权限,请参见查看授权结果

前置检查:删除源RDS实例中多余系统账号

为了兼容RDS MySQLPolarDB-X 2.0标准版两者的系统账号体系,避免迁移后目标PolarDB-X 2.0标准版的系统账号被覆盖,源RDS MySQL实例中不允许同时存在rootaliyun_root账号。因此,在进行迁移前,请先删除源RDS MySQL实例中多余的系统账号。

RDS MySQL各个版本的正确系统账号名如下:

RDS MySQL版本

正确的系统账号名

RDS MySQL 5.6

root

RDS MySQL 5.7

aliyun_root

RDS MySQL 8.0

aliyun_root

各个版本除了对应的系统账号之外,其余系统账号均需删除。

说明

账号可能是用户创建的,也可能是系统创建并因版本升级而遗留的,某些场景下不会在控制台显示。

以清理RDS MySQL 5.6多余的系统账号为例,具体删除步骤如下:

  1. 使用高权限账号连接实例。

  2. 找到所有的rootaliyun_root系统账号。

select * from mysql.user where user in ('root', 'aliyun_root');
  1. 删除多余的系统账号。RDS MySQL 5.6正确的系统账号是root,因此需要删除aliyun_root账号。

delete from mysql.user where user = 'aliyun_root';

步骤一:从RDS同步

本操作将创建一个与源RDS MySQL实例数据相同的PolarDB-X 2.0标准版,源RDS MySQL实例的增量数据会实时同步到该PolarDB-X 2.0标准版

  1. 登录PolarDB分布式版控制台

  2. 实例列表页,单击PolarDB-X 2.0页签。

  3. 单击页面右上角创建新实例

  4. 进入PolarDB-X 2.0标准版购买页后,设置如下参数。

    说明

    下方表格中未介绍的参数,请参考购买页面参数设置

    参数

    说明

    地域

    选择源RDS MySQL实例所在地域。

    说明

    新建的PolarDB-X 2.0标准版也在此地域。

    创建方式

    选择RDS迁移

    说明

    在正式迁移切换前PolarDB-X 2.0标准版的读写状态为只读,且默认开启Binlog。

    RDS版本

    RDS MySQL实例的版本。您可以选择MySQL 5.6MySQL 5.7MySQL 8.0

    RDS实例

    选择源RDS MySQL实例,不包括只读实例。

    节点规格

    按需选择,建议不低于源RDS MySQL实例规格。关于PolarDB-X 2.0标准版节点规格,详情请参见规格说明

  5. 确认订单页面确认订单信息,阅读并选中服务协议,单击去支付

  6. 支付页面,确认未支付订单信息和支付方式,单击订购

  7. 支付成功后,您可以返回PolarDB分布式版控制台,在实例列表中可以看到新创建的实例。

    说明
    • 当实例中的节点状态为创建中时,整个实例可能仍未创建完成,此时实例不可用。只有当实例状态为运行中时,实例才可以正常使用。

    • 请确认已选择正确的地域,否则无法看到您创建的实例。

  8. 单击实例ID进入实例基本信息页面。在基本信息页面的RDS迁移功能中,确认目标PolarDB-X 2.0标准版实例的复制延迟小于60秒即可进行步骤二:迁移切换操作。创建完成后,在实例详情页的 RDS迁移功能 区域可查看同步状态信息,包括 状态(数据同步中)、RDS读写状态(读写)、PolarDB-X读写状态(只读)、复制延迟DTS数据同步任务复制关系复制到期时间。页面右上角提供 切换迁移取消迁移 按钮。复制到期后,源和目标数据库均恢复读写状态并脱离复制关系。

说明
  • 实例创建后开始从RDS MySQL实例同步数据,您需要在30天内进行步骤三:完成迁移操作,超过30天将自动关闭迁移功能。

  • PolarDB-X 2.0标准版创建完成后,若RDS MySQL迁移状态变为预检查失败,请根据错误信息中的提示进行处理。

  • 如果源RDS MySQL中创建了触发器,则预检查会失败并报错“RDS实例存在触发器”。请先删除源RDS MySQL的触发器,再点击继续迁移,或者点击放弃迁移后手动去DTS控制台页面创建迁移任务。具体可参见源库存在触发器时如何配置同步或迁移作业

  • 您可以在此步骤选择放弃迁移,相关影响请参见常见问题

步骤二:迁移切换

当目标PolarDB-X 2.0标准版实例的复制延迟小于60秒时,即可进行迁移切换操作。

  1. 登录PolarDB分布式版控制台

  2. 在页面左上角选择目标实例所在地域。

  3. 实例列表页,单击PolarDB-X 2.0页签。

  4. 找到目标实例,单击实例ID。

  5. 基本信息页面的RDS迁移功能中,单击切换迁移

    说明
    • 切换过程一般小于5分钟。

    • 本操作将交换源RDS实例和目标PolarDB-X 2.0标准版的读写状态(即将源RDS MySQL实例修改为只读,将PolarDB-X 2.0标准版修改为可读可写),同时会更换复制方向(即将PolarDB-X 2.0标准版的新增数据同步到RDS MySQL实例)。

  6. 切换迁移对话框中,选择带地址切换(应用程序不用改连接配置)不带地址切换(应用程序需要改为新的PolarDB-X连接配置)

    • 若您选择带地址切换(应用程序不用改连接配置),操作步骤如下:

      1. 选中带地址切换(应用程序不用改连接配置),系统会自动交换RDS MySQLPolarDB-X 2.0标准版上的连接地址,您无需在应用程序端修改任何配置即可自动连接到PolarDB-X 2.0标准版

        重要

        使用带地址切换(应用程序不用改连接配置)前,请务必阅读带地址切换

        弹窗顶部提示四条注意事项:DTS不迁移切换后新增的数据库信息、SSL连接地址会同步切换、DNS解析存在缓存需等待生效、源实例已有DTS链路需提前处理。选择该选项后业务可能中断1~5分钟。下方表格按网络类型(私网地址、公网地址、经典网络)展示RDS连接地址与PolarDB-X连接地址的切换对应关系,确认后单击 确定

      2. 单击确定

    • 若您选择不带地址切换(应用程序需要改为新的PolarDB-X连接配置),操作步骤如下:

      1. 选中不带地址切换(应用程序需要改为新的PolarDB-X连接配置)

        重要

        在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址,避免造成长时间的连接中断。

        弹窗顶部提示注意事项包括 DTS 迁移任务需手动释放、SSL 设置及 DNS 缓存刷新等。下方表格展示 RDS 与 PolarDB-X 在不同网络类型(私网地址公网地址经典网络)下的连接地址映射关系,其中经典网络及公网的 PolarDB-X 连接地址显示"暂无,不会切换"。确认后单击 确定

      2. 单击确定。会显示切换中。执行迁移切换后,RDS迁移功能页面显示当前状态为切换中,源RDS读写状态为读写,PolarDB-X读写状态为只读,复制延迟为0。复制到期后将关闭迁移功能,源和目标数据库均恢复读写状态并脱离复制关系。

  7. 刷新页面,当PolarDB-X 2.0标准版读写状态显示为读写后,尽快修改应用里的数据库连接地址。

说明
  • 迁移切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态也可以选择迁移回滚(可选)

  • 若您选择的是带地址切换,在进行迁移切换的时候,由于RDS MySQL实例会被设置为只读,对应RDS MySQL可读可写节点的代理地址(原PolarDB-X 2.0标准版实例地址或自定义地址,切换地址后断开重连会连RDS MySQL实例)将无法连接数据库。如果还需要通过该地址连接RDS MySQL实例,可以在RDS MySQL实例详情页的数据库代理页面将该代理地址的读写属性改为只读(如果后面进行了迁移回滚,需要在RDS MySQL实例详情页将与该地址切换后的地址的读写属性再改回读写)。

步骤三:完成迁移

在完成步骤一:从RDS同步后,您需要在30天内进行完成迁移操作。

警告
  • 请确保在进行完成迁移操作前,数据迁移已完成,并且后续不再使用数据同步,将会删除数据同步任务。

  • 由于本操作将中断PolarDB-X 2.0标准版RDS MySQL实例间的数据同步,不再提供迁移回滚(可选),建议您使用一段时间PolarDB-X 2.0标准版,确认正常后再执行本操作。

  1. 登录PolarDB分布式版控制台

  2. 在页面左上角选择目标实例所在地域。

  3. 实例列表页,单击PolarDB-X 2.0页签。

  4. 找到目标实例,单击实例ID。

  5. 基本信息页面的RDS迁移功能中,单击完成迁移,在弹出的对话框中单击确定

    说明
    • 单击确定后,系统将在约2分钟内中断同步关系,期间迁移状态将显示为关闭同步,请耐心等待迁移完成。

    • 如果不再需要源RDS MySQL实例,可以释放实例。

查看数据同步任务详情(可选)

在进行一键迁移的过程中,若遇到迁移报错(如预检查失败)或者其他异常状态(如复制延迟异常高)时,您可以前往对应的DTS数据传输任务的详情页,查看数据同步任务的具体信息。

  1. 登录PolarDB分布式版控制台

  2. 在页面左上角选择目标实例所在地域。

  3. 实例列表页,单击PolarDB-X 2.0页签。

  4. 找到目标实例,单击实例ID。

  5. 基本信息页面的RDS迁移功能中,单击DTS数据传输任务的任务名称,进入DTS控制台数据同步列表。

  6. 找到对应的数据同步任务,您可查看预检查失败详情、查看同步任务详情、查看同步任务日志等。进入数据同步任务详情页后,在左侧菜单单击任务管理,可查看任务运行状态。顶部提供修改任务修改同步对象查看同步对象创建校验任务等操作按钮。实例进展区域展示各同步步骤(如增量数据采集增量写入)的运行状态和延迟信息。下方基本信息Tab可查看创建时间、更新时间、状态、当前位点及报错信息,并支持重启操作。底部一键诊断区域可对任务执行健康度检查。

迁移回滚(可选)

在完成迁移前,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态(RDS MySQL实例为可读可写,PolarDB-X 2.0标准版为只读,同时会将RDS MySQL实例的数据同步到PolarDB-X 2.0标准版)。

  1. 登录PolarDB分布式版控制台

  2. 在页面左上角选择目标实例所在地域。

  3. 实例列表页,单击PolarDB-X 2.0页签。

  4. 找到目标实例,单击实例ID。

  5. 基本信息页面的RDS迁移功能中,单击迁移回滚

  6. 开始回切对话框中,选择带地址回切(应用程序不用改连接配置)不带地址回切(应用程序需要改为源实例连接配置)

    • 若您选择带地址回切(应用程序不用改连接配置),操作步骤如下:

      1. 选中带地址回切(应用程序不用改连接配置),系统会自动交换RDS MySQLPolarDB-X 2.0标准版上的连接地址,您无需在应用程序端修改任何配置即可自动回切到RDS MySQL

      2. 单击确定。此时RDS MySQL实例为可读可写,PolarDB-X 2.0标准版为只读,同时会将RDS MySQL实例的数据同步到PolarDB-X 2.0标准版

    • 若您选择不带地址回切(应用程序需要改为源实例连接配置),操作步骤如下:

      1. 选中不带地址回切(应用程序需要改为源实例连接配置),在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址。

      2. 单击确定。此时RDS MySQL实例为可读可写,PolarDB-X 2.0标准版为只读,同时会将RDS MySQL实例的数据同步到PolarDB-X 2.0标准版

      3. 刷新页面,当源RDS MySQL读写状态显示为读写后,请尽快修改应用里的数据库连接地址为RDS MySQL连接地址。