文档首页> > 快速入门> 在线迁移> 入云迁移> 步骤一:创建迁移任务

步骤一:创建迁移任务

分享
更新时间: 2019/05/22 16:25

本章节将以MySQL到RDS for MySQL的迁移为示例,介绍在VPC网络场景下,通过数据复制服务管理控制台配置数据迁移任务的流程,其他存储引擎的配置流程类似。

VPC网络适合本云内数据库之间的迁移。在数据复制服务中,数据库迁移是通过任务的形式完成的,通过创建任务向导,可以完成任务信息配置、任务创建。迁移任务创建成功后,您也可以通过数据复制服务管理控制台,对任务进行管理。

目前数据复制服务支持每个用户最多可创建5个在线迁移任务。

前提条件

操作步骤

  1. “在线迁移管理”页面,单击“创建迁移任务”,进入创建迁移任务页面。
  2. 在“迁移实例”页面,填选任务名称、通知收件人信息、描述、迁移实例信息,单击“下一步”。

    图1 迁移任务信息
    表1 任务和描述

    参数

    描述

    任务名称

    任务名称在4位到64位之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。

    通知收件人

    该项为可选参数,开启之后,需要填写手机号码或者邮箱作为指定收件人。当迁移任务状态异常时,系统将发送通知给指定收件人。

    说明:

    收到确认短信或邮件之后,需要在48小时内处理,否则该功能订阅无效。

    时延阈值

    源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。

    时延阈值设置是指时延超过一定的值后(时间阈值范围为1—3600s),DRS可以发送告警通知给指定收件人。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。

    说明:
    • 首次进入增量迁移阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。
    • 设置时间阈值之前,需要填写收件人手机号或邮箱。

    描述

    描述不能超过256位,且不能包含!<>&'\"特殊字符。

    图2 迁移实例信息
    表2 迁移实例信息

    参数

    描述

    数据流动方向

    选择入云。

    入云指目标端数据库为华为云关系型数据库。

    源数据库引擎

    选择MySQL。

    目前支持的数据库类型有:MySQL数据库、Microsoft SQL Server数据库、PostgreSQL数据库、MongoDB数据库和Oracle数据库。

    目标数据库引擎

    选择MySQL。

    目前支持的数据库引擎有:MySQL数据库、Microsoft SQL Server数据库、PostgreSQL数据库、DDS数据库。

    网络类型

    选择VPC网络。

    默认为公网网络类型,支持VPC网络、VPN网络、专线网络、公网网络。

    • VPC网络:适合云上数据库之间的迁移。
    • 公网网络:适合通过公网网络把其他云下或其他平台的数据库迁移到目标数据库,该类型要求目标数据库绑定弹性公网IP。
    • VPN网络:适合通过VPN网络,实现其他云下自建数据库与云上数据库迁移、或云上跨Region的数据库之间的迁移。
    • 专线网络:适合通过专线网络,实现其他云下自建数据库与云上数据库迁移、或云上跨Region的数据库之间的迁移。

    目标数据库实例

    用户所创建的关系型数据库实例。

    目标库读写设置

    • 只读

      若目标数据库设置为只读模式,在迁移过程中,目标数据库将转化为只读、不可写入的状态,迁移任务结束后恢复可读写状态,此选项可有效的确保数据迁移的完整性和成功率。

    • 读写

      若目标数据库设置为读写模式,则在迁移过程中,目标数据库可以进行读写,但需要用户避免操作与更改数据库迁移中的数据,规避数据冲突导致的迁移失败。

    说明:

    目前仅MySQL数据库支持目标库读写设置。

    迁移模式

    • 全量:该模式为数据库一次性迁移,适用于可中断业务的数据库迁移场景,全量迁移将非系统数据库的全部数据库对象和数据一次性迁移至目标端数据库,包括:表、视图、存储过程等。
      说明:

      如果用户只进行全量迁移时,建议停止对源数据库的操作,否则迁移过程中源数据库产生的新数据不会同步到目标数据库。

    • 全量+增量:该模式为数据库持续性迁移,适用于对业务中断敏感的场景,通过全量迁移过程中完成的目标端数据库的初始化后,增量迁移阶段通过解析日志等技术,将远端和目标端数据库保持数据持续一致。
    说明:

    选择“全量+增量”迁移模式,增量迁移可以在全量迁移完成的基础上实现数据的持续同步,无需中断业务,实现迁移过程中源业务和数据库继续对外提供访问。

  3. 在“源库及目标库”页面,迁移实例创建成功后,填选源库信息和目标库信息,建议您单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,勾选协议,单击“下一步”

    说明:

    源库类型分为ECS自建库和RDS实例,需要根据源数据库的实际来源选择相应的分类。两种场景下的参数配置不一样,需要根据具体场景进行配置。

    • 场景一:ECS自建库源库信息配置
      图3 ECS自建库场景-源库信息

      表3 ECS自建库场景-源库信息

      参数

      描述

      源库类型

      选择ECS自建库。

      VPC

      源数据库实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您需要创建或选择所需的虚拟私有云。如何创建虚拟私有云,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及默认子网”。

      子网

      通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。子网在可用分区内才会有效,创建源数据库实例的子网需要开启DHCP功能,在创建过程中也不能关闭已选子网的DHCP功能。

      IP地址或域名

      源数据库的IP地址或域名。

      端口

      源数据库服务端口,可输入范围为1~65535间的整数。

      数据库用户名

      源数据库的用户名。

      数据库密码

      源数据库的用户名所对应的密码。

      SSL安全连接

      通过该功能,用户可以选择是否开启对迁移链路的加密,如果开启,需要用户上传SSL CA根证书。

      说明:

      源数据库的IP地址或域名、数据库用户名和密码,会被系统加密暂存,直至删除该迁移任务后自动清除。

    • 场景二:RDS实例源库信息配置
      图4 RDS实例场景-源库信息
      表4 RDS实例场景-源库信息

      参数

      描述

      源库类型

      选择RDS实例。

      数据库实例名称

      选择待迁移的关系型数据库实例作为源数据库实例。

      数据库用户名

      源数据库实例的用户名。

      数据库密码

      源数据库的用户名所对应的密码。

      说明:

      场景二仅以MySQL实例为示例,具体的源库类型需要根据所选源数据库引擎进行配置。

      • 当源数据库引擎为MySQL、Microsoft SQL Server、PostgreSQL时,源库类型需选择RDS实例。
      • 当源数据库引擎为MongoDB数据库时,源库类型需要选择DDS实例。
    • 目标库信息配置
      图5 目标库信息
      表5 目标库信息

      参数

      描述

      数据库实例名称

      默认为创建迁移任务时选择的关系型数据库实例,不可进行修改。

      数据库用户名

      目标数据库对应的数据库用户名。

      数据库密码

      数据库用户名和密码将被系统加密暂存,直至该任务删除后清除。

  4. “设定迁移”页面,设置迁移用户和迁移对象,单击“下一步”

    图6 迁移模式
    表6 迁移模式和迁移对象

    参数

    描述

    迁移用户

    数据库的迁移过程中,迁移用户需要进行单独处理。

    常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。您可以根据业务需求选择“迁移”或者“不迁移”。

    • 迁移

    迁移用户功能将展示源数据所有用户和对应权限列表,帮助您判断这些用户是否可进行迁移。为了确保迁移过程中数据的安全性,您可对支持迁移的用户(包括可完整迁移的用户和需要降权的用户)设置密码后进行迁移。

    设置密码的方式有如下两种:

    方法一:选择指定支持迁移的用户,在“设置密码”列可直接输入设置密码。

    方法二:为了节省时间,您也可以选择所有支持迁移的用户,单击右下角“统一设置密码”,批量进行密码设置。使用该方法设置的密码,待迁移成功后,可以在目标数据库端通过执行DDL语句,进行密码重置。

    对于需要降权处理的用户和不支持迁移的用户,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。

    如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。

    说明:
    • 需要降权的用户指具有不满足目标数据库权限要求的部分高权限的用户,比如具有:super、file、shutdown等高权限的用户。该类用户在进行迁移时需要进行降权处理,否则会导致迁移失败。迁移成功后,存储在目标数据库中的对应用户是经过降权处理的用户。
    • 目前仅MySQL支持迁移用户功能。
    • 对于不支持迁移的账号,该类帐号将在目标数据库中缺失,请先确保业务不受该类帐号影响。同时,任务启动后,所有针对该类帐号进行的权限密码操作,将会导致增量迁移失败。
    • 不迁移

      迁移过程中,将不进行用户和权限的迁移。

    迁移对象

    迁移对象选择的粒度可以为数据库的全对象,对象迁移到目标数据库实例后,对象名将会保持与源数据库实例对象名一致且无法修改。

    您可以根据业务需求,选择全部对象迁移或者自定义迁移对象。

    • 全部迁移:将源数据库中的所有对象全部迁移至目标数据库。
    • 自定义对象:将自定义选择的对象迁移至目标数据库。
    说明:

    若选择部分数据库进行迁移时,由于存储过程、视图等对象可能与其他数据库的表存在依赖关系,若所依赖的表未迁移,则会导致迁移失败。建议您在迁移之前进行确认,或选择全部数据库进行迁移。

  5. “预检查”页面,进行迁移任务预校验,校验是否可进行迁移。

    • 查看检查结果,如有失败的检查项,需要修复失败项后,单击“重新校验”按钮重新进行迁移任务预校验。

      预检查失败项处理建议请参见《数据复制服务用户指南》中的“预检查失败项修复方法”。

      图7 预检查
    • 预检查完成后,且预检查通过率为100%时,单击“下一步”。
      说明:

      所有检查项结果均成功时,若存在告警,需要阅读并确认告警详情后才可以继续执行下一步操作。

  6. 进入“参数对比”页面,该步骤为可选操作。

    您可以根据业务需求,进行源数据库和目标数据库参数的一致性对比。该操作不影响数据的迁移,主要目的是为了确保迁移成功后业务应用的使用不受影响。

    参数对比功能从常规参数和性能参数两个维度,展示了源数据库和目标数据库的参数值是否一致,而且提供了一键修改的功能。通过一键修改可以将源数据库和目标数据库的参数值自动修改为一致,从而确保迁移后业务的稳定性。

    一般情况下,对于常规参数,如果源库和目标库存在不一致的情况,建议使用一键修复功能将参数值修改为一致。

    对于性能参数,您可以根据业务场景,自定义源数据库和目标库的参数值。

    图8 修改参数

    通过参数对比功能修改的部分参数值,无法在目标数据库立即生效,需要重启才能生效。建议您在迁移任务启动之前重启目标数据库,或者迁移结束后选择一个计划时间重启。

    说明:

    如果您选择迁移结束后重启目标数据库,请合理设置重启计划时间,避免参数生效太晚影响业务的正常使用。

    针对MySQL5.6和MySQL5.7版本,表7表8分别列举了常见的常规参数及性能参数,方便您在使用参数对比功能时进行参考。

    表7 MySQL5.6参数列表

    参数名称

    参数类型

    可选值

    是否需要重启

    connect_timeout

    常规参数

    -

    event_scheduler

    常规参数

    -

    innodb_lock_wait_timeout

    常规参数

    -

    max_connections

    常规参数

    -

    net_read_timeout

    常规参数

    -

    net_write_timeout

    常规参数

    -

    explicit_defaults_for_timestamp

    常规参数

    -

    innodb_flush_log_at_trx_commit

    常规参数

    -

    max_allowed_packet

    常规参数

    -

    tx_isolation

    常规参数

    -

    character_set_client

    常规参数

    -

    character_set_connection

    常规参数

    -

    collation_connection

    常规参数

    -

    character_set_results

    常规参数

    -

    collation_server

    常规参数

    -

    binlog_cache_size

    性能参数

    4,096~18,446,744,073,709,547,520

    binlog_stmt_cache_size

    性能参数

    4,096~18,446,744,073,709,547,520

    bulk_insert_buffer_size

    性能参数

    0~18,446,744,073,709,551,615

    innodb_buffer_pool_size

    性能参数

    5,242,880~18,446,744,073,709,551,615

    key_buffer_size

    性能参数

    8~9,223,372,036,854,771,712

    long_query_time

    性能参数

    0~3,600

    query_cache_type

    性能参数

    OFF, ON, DEMAND

    read_buffer_size

    性能参数

    8,192~2,147,479,552

    read_rnd_buffer_size

    性能参数

    1~2,147,483,647

    sort_buffer_size

    性能参数

    32,768~18,446,744,073,709,551,615

    sync_binlog

    性能参数

    0~4,294,967,295

    表8 MySQL5.7参数列表

    参数名称

    参数类型

    可选值

    是否需要重启

    connect_timeout

    常规参数

    -

    event_scheduler

    常规参数

    -

    innodb_lock_wait_timeout

    常规参数

    -

    max_connections

    常规参数

    -

    net_read_timeout

    常规参数

    -

    net_write_timeout

    常规参数

    -

    explicit_defaults_for_timestamp

    常规参数

    -

    innodb_flush_log_at_trx_commit

    常规参数

    -

    max_allowed_packet

    常规参数

    -

    tx_isolation

    常规参数

    -

    character_set_client

    常规参数

    -

    character_set_connection

    常规参数

    -

    collation_connection

    常规参数

    -

    character_set_results

    常规参数

    -

    collation_server

    常规参数

    -

    binlog_cache_size

    性能参数

    4,096~18,446,744,073,709,547,520

    binlog_stmt_cache_size

    性能参数

    4,096~18,446,744,073,709,547,520

    bulk_insert_buffer_size

    性能参数

    0~18,446,744,073,709,551,615

    innodb_buffer_pool_size

    性能参数

    536,870,912~18,446,744,073,709,551,615

    key_buffer_size

    性能参数

    8~9,223,372,036,854,771,712

    long_query_time

    性能参数

    0~3,600

    query_cache_type

    性能参数

    OFF, ON, DEMAND

    read_buffer_size

    性能参数

    8,192~2,147,479,552

    read_rnd_buffer_size

    性能参数

    1~2,147,483,647

    sort_buffer_size

    性能参数

    32,768~18,446,744,073,709,551,615

    sync_binlog

    性能参数

    0~4,294,967,295

    说明:
    • 目前仅MySQL数据库迁移支持参数对比的功能。
    • 对于上述参数“innodb_buffer_pool_size”,参数对比功能对应用到目标数据库的值做了内控,最大不会超过目标数据库总内存的70%。所以有时候是无法完全和源数据库该参数取值一致,这是为了避免目标数据库设置过大,而导致数据库无法启动,如果您觉得上述最大值偏小,可以在数据库中通过执行命令手动设置更大的值。

    参数对比操作完成后,单击“下一步”。

  7. “任务确认”页面,设置迁移任务的启动时间,并确认迁移任务信息无误后,勾选协议,单击“启动任务”,提交迁移任务。

    图9 任务确认

    迁移任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。

    预计迁移任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置迁移任务的启动时间。

    说明:

    当目标数据库版本为MySQL5.6且进行增量迁移时,在启动任务过程中目标数据库将被重启一次,可能会中断数据库业务的使用。

  8. 迁移任务提交后,您可在“在线迁移管理”页面,查看并管理自己的任务。

    • 您可查看任务提交后的状态,状态请参见任务状态
    • 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。

如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区