如何将自建MySQL 迁移至云数据库PolarDB MySQL?
已有自建MySQL数据库(5.1、5.5、5.6、5.7 或8.0 版本);已创建目标PolarDB MySQL集群。如果MySQL 数据库部署在本地,那么需要将DTS 服务器的IP 地址设置为该数据库远程连接的白名单,允许其访问数据库。为自建MySQL 创建账号并设置Binlog。
DTS 在执行全量数据迁移时,将占用源库和目标库一定的读写资源,可能导致数据库的负载上升。在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能加重数据库压力,甚至导 致数据库服务不可用。因此需要在执行数据迁移前评估源库和目标库的性能,同时建议在业务低峰期执行数据迁移(例如源库和目标库的CPU 负载在30%以下)。
如果源数据库没有主键或唯一约束,且所有字段没有唯一性,那么可能导致目标数据库中出现重复数据。
对于数据类型为FLOAT 或DOUBLE 的列,DTS 会通过ROUND(COLUMN,PRECISION)读取该列的值。如果没有明确定义其精度,则DTS 对FLOAT 的迁移精度为38 位,对DOUBLE 的迁移精度为308 位,请确认迁移精度是否符合业务预期。
对于迁移失败的任务,DTS 会触发自动恢复。在将业务切换至目标集群前,请务必先结束或释放该任务,避免该任务被自动恢复后,源端数据覆盖目标集群的数据。
PolarDB 支持结构迁移、全量数据迁移和增量数据迁移。同时使用这三种迁移类型可实现在应用不停止服务的情况下,平滑地完成数据库迁移。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。