上云无忧 > 文档中心 > 天翼云数据库复制在线迁移使用限制
数据库复制
天翼云数据库复制在线迁移使用限制

文档简介:
数据库复制服务在使用上有一些固定的限制,用来提高数据迁移的稳定性和安全性。在进行正式的数据迁移之前,请先阅读以确保各数据库引擎已满足使用限制条件。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

使用限制


数据库复制服务在使用上有一些固定的限制,用来提高数据迁移的稳定性和安全性。在进行正式的数据迁移之前,请先阅读以确保各数据库引擎已满足使用限制条件。
MySQL->RDS for MySQL迁移场景
在线迁移对环境有一些特定的要求,请确保环境配置满足以下条件。该类型的要求系统会自动检查,并给出处理建议。
MySQL数据库在线迁移 环境要求

类型名称

使用限制DRS自动检查)

数据库权限设置

l全量迁移权限要求:

−  源数据库帐户需要具备如下权限:SELECTSHOW VIEWEVENT

−  目标数据库帐号必须拥有如下权限:SELECTCREATEALTERDROPDELETEINSERTUPDATEINDEXEVENTCREATE VIEWCREATE ROUTINETRIGGERWITH GRANT   OPTION

l全量+增量迁移权限要求:

−  源数据库帐户需要具备如下权限:SELECTSHOW VIEWEVENTLOCK TABLESREPLICATION   SLAVEREPLICATION CLIENT

−  目标数据库帐号必须拥有如下权限:SELECTCREATEALTERDROPDELETEINSERTUPDATEINDEXEVENTCREATE VIEWCREATE ROUTINETRIGGERWITH GRANT OPTION

l用户迁移权限要求:

用户迁移时,当源数据库为非阿里云数据库时,帐户需要有mysql.userSELECT权限,源数据库为阿里云数据库,则帐户需要同时具有mysql.usermysql.user_viewSELECT权限。目标数据库帐户需要有mysql库的SELECTINSERTUPDATEDELETE权限。

迁移对象约束

l支持数据库、表、视图、索引、约束、函数、存储过程、触发器和事件的迁移。

l不支持系统库的迁移以及事件状态的迁移。

l不支持非MyisamInnoDB表的迁移。

源数据库要求

l源数据库中的库名不能包含:'<`>/\以及非ASCII字符。

l源数据库中的表名、视图名不能包含:'<>/\以及非ASCII字符

lMySQL源数据库的binlog日志必须打开,且binlog日志格式必须为Row格式。

l在磁盘空间允许的情况下,建议源数据库binlog保存时间越长越好,建议为3天。

l建议将expire_log_day参数设置在合理的范围,确保恢复时断点处的binlog尚未过期,以保证服务中断后的顺利恢复。

l增量迁移时,必须设置MySQL源数据库的server_id。如果源数据库版本小于或等于MySQL5.6server_id的取值范围在24294967296之间;如果源数据库版本大于或等于MySQL5.7server_id的取值范围在14294967296之间。

lMySQL源数据库建议开启skip-name-resolve,减少连接超时的可能性。

l源数据库GTID状态建议为开启状态。

l源库不支持阿里云RDS的只读副本。

目标数据库要求

l不支持从高版本迁移到低版本。

l建议MySQL目标库的binlog日志格式为Row格式,否则增量迁移可能出错。

l目标数据库实例的运行状态必须正常。

l目标数据库实例必须有足够的磁盘空间。

l除了MySQL系统数据库之外,目标数据库不能包含与源数据库同名的数据库。

l建议目标库的事务隔离级别至少保证在已提交读。

lDRS迁移时会有大量数据写入目标库,目标库max_allowed_packet   参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置大一点,使其大于100MB

针对一些无法预知或人为因素及环境突变导致迁移失败的情况,数据复制服务提供以下常见的操作限制,供您在迁移过程中参考。
MySQL数据库在线迁移 操作要求

类型名称

操作限制(需要人为配合)

注意事项

l上表中的环境要求均不允许在迁移过程中修改,直至迁移结束。

l基于以下原因,建议您结合定时启动功能,选定业务低峰期开始运行迁移任务。

−  全量迁移会对源数据库有一定的访问压力。

−  迁移无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。

−  正在迁移的数据被其他事务锁死,导致读数据超时。

l相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。

l由于MySQL本身限制,若源库的一次性EVENT设定的触发时间在迁移开始前,该EVENT不会迁移到目标库。

l多对一场景下,创建迁移任务时,目标库读写设置需要跟已有任务设置为一致。

l增量迁移会过滤创建用户、删除用户及修改用户权限的DDL操作。

操作须知

l全量迁移过程中,不建议对源数据库的表进行修改、删除等DDL操作。

l在结束迁移任务时,将进行所选事件(event)和触发器(trigger)的迁移。请确保任务结束前,不要断开源和目标数据库的网络连通性,并在结束任务时关注迁移日志上报的状态,达到数据库完整迁移效果。

l迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。

l增量迁移场景下,不支持源数据库进行恢复到某个备份点的操作(PITR)。

l增量迁移过程中,若源库存在分布式事务,可能会导致迁移失败。

l由于无主键表缺乏行的唯一性标志,在网络不稳定情况下,迁移后,可能存在目标与源库数据不一致的情况。

l为了保持数据一致性,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDLDML操作)

l增量迁移阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。

l迁移过程中,不允许源库写入binlog格式为statement的数据。

l迁移过程中,不允许源库执行清除binlog的操作。

l选择表级对象迁移时,增量迁移过程中不建议对表进行重命名操作。

Microsoft SQL Server->RDS for Microsoft SQL Server迁移场景
在线迁移对环境有一些特定的要求,请确保环境配置满足以下条件。该类型的要求系统会自动检查,并给出处理建议。
SQL Server数据库在线迁移 环境要求

类型名称

使用限制DRS自动检查)

数据库权限设置

l全量迁移权限要求:

−  源数据库权限:需要具备db_datareaderdb_owner中的任何一种权限。

−  目标数据库权限:需要具备dbcreator或者CREATE ANY DATABASE的权限。

迁移对象约束

l当前版本暂不支持迁移如下数据库对象:

−  程序集(Assemblies

−  service broker

−  全文索引

−  全文目录

−  空间索引

−  hash索引

−  xml索引

−  列存储索引

−  序列

−  分布式 schema

−  分布式函数

−  CLR存储过程

−  CLR 标量函数

−  CLR表值函数

−  内部表

−  聚合函数

−  系统

−  加密的数据库对象(视图、存储过程、触发器、函数)

l当前版本暂不支持迁移如下数据类型:

−  sql_variant

源数据库要求

l源数据库库名只能包含如下字符:字母、数字、下划线和中划线,库名长度不能超过64个字符。

l源数据库中的表名、视图名和触发器名不能包含如下字符:'<>"

l不支持迁移源数据库中开启TDE(Transparent Data Encryption)加密的数据库。若不需要迁移TDE加密的库,请在对象选择中去掉;若需要迁移TDE加密的库,请先将TDE关闭。

l    源数据库若开启客户端配置中的“强制协议加密(Force Protocol Encrypton)”,必须同时开启“信任服务器证书(trust server   certificate)”,如下图所示:

查看客户端属性

 

l源数据库模式必须设置为FULL模式。

l源数据库必须开启SQL Server Agent代理服务。

l源库中不允许存在被禁用的表的聚簇索引,否则会导致迁移失败。

l源库中不允许存在名称为cdc的用户名或shema

目标数据库要求

l目标数据库实例必须有足够的磁盘空间。

l不支持目标数据库主备切换。

l仅支持从低版本迁移到高版本。

针对一些无法预知或人为因素及环境突变导致迁移失败的情况,数据复制服务提供以下常见的操作限制,供您在迁移过程中参考。
SQL Server数据库在线迁移 操作要求

类型名称

操作限制(需要人为配合)

注意事项

l上表中的环境要求均不允许在迁移过程中修改,直至迁移结束。

l基于以下原因,建议您结合定时启动功能,选定业务低峰期开始运行迁移任务。

−  全量迁移会对源数据库有一定的访问压力。

−  迁移无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。

−  正在迁移的数据被其他事务锁死,导致读数据超时。

l相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。

l创建迁移实例后,必须确保迁移实例能够连通源数据库。

l目标数据库实例的运行状态必须正常。

l迁移过程中触发器为禁用状态,在迁移任务结束时,系统自动将触发器的状态恢复为原有状态。

操作须知

l不支持源数据库主备切换。

lRDS实例异常引发目标数据库发生主备切换时,会导致迁移失败,该情况下的迁移任务不可恢复。

l迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。

l为保障数据一致性,对于只进行全量迁移的任务,在数据迁移期间请勿在源数据库SQL Server中写入新的数据。

l支持断点续传功能,但是对于无主键的表可能会出现重复插入数据的情况。

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部