使用技巧(需要人为配合)
如果您使用的是全量迁移模式(离线迁移),确保源和目标数据库无业务写入,保证迁移前后数据一致。
如果您使用的是全量+增量迁移模式(在线迁移),支持在源数据库有业务数据写入的情况下进行迁移,推荐提前2-3天启动任务,并配合如下使用技巧和对应场景的操作要求,以确保顺利迁移。
基于以下原因,建议您结合定时启动功能,选择业务低峰期开始运行迁移任务,相对静态的数据,迁移时复杂度将会降低。如果迁移不可避免业务高峰期,推荐使用迁移限速功能,即“流速模式”选择“限速”。
全量迁移会对源数据库有一定的访问压力。
迁移无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。
正在迁移的数据被其他事务长时间锁死,可能导致读数据超时。
由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。
建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。
操作要求
由于一些无法预知或人为因素及环境突变导致迁移失败的情况,数据库复制服务提供以下常见的操作限制,供您在迁移过程中参考
类型名称
操作限制(需要人为配合)
注意事项
相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。常见的关联关系:视图引用表、存储过程/函数/触发器引用视图/表、主外键关联表等。
不支持外键级联操作。
不支持高版本到低版本的迁移。
不支持源数据库实例主备倒换。
支持断点续传功能,但是对于无主键的表可能会出现重复插入数据的情况。
在未选择任何表的情况下,无法单独迁移视图、存储过程等对象。同时目前不支持DRS自动判断依存关系,如:具有主外键关系的表,单独迁移将会失败,迁移时需要一起迁移。
若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建迁移任务。
全量迁移不支持修改表结构等DDL操作。
目标数据库实例状态需为可读写状态,否则可能迁移失败。
源库和目标库为RDS for MySQL实例时,不支持带有TDE特性并建立具有加密功能表。
操作须知
迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。
迁移过程中,不建议对目标数据库进行主备切换。
在迁移任务结束之前,不允许目标数据库提前中断公网连接。
迁移过程中,不允许源库写入binlog格式为statement的数据。
迁移过程中,不允许源库执行清除binlog的操作。