1. 数据迁移
1) PolarDB数据迁移方案概览
• 云数据库PolarDB提供了多种数据迁移同步方案,满足不同上云、迁云、同步的业务需求,可以在不影响业务的情况下平滑将数据库迁移、同步至阿里云云数据库PolarDB。
• 通过使用阿里云数据传输服务(DTS),可以实现PolarDB的结构迁移、全量迁移和实时同步。
数据迁移具体可以分几种情况:
• 从RDS迁移至PolarDB
• 从PolarDB迁移至RDS
• PolarDB之间的数据迁移
• 从自建数据库迁移至PolarDB
• 从第三方云数据库迁移至PolarDB
2) 一键升级
PolarDB支持将RDS MySQL一键升级至PolarDB MySQL引擎,升级后PolarDB集群包含源RDS实例的账号、数据库、IP白名单和必要的参数。
• 可保留数据库原连接地址,无需应用程序修改任何连接配置即可切换至PolarDB。
• 无需DTS等数据迁移工具,仅需PolarDB控制台即可完成整个迁移流程。
• 迁移完全免费。
• 迁移过程数据0丢失。
• 支持增量迁移,停机时间小于10分钟。
• 支持在线热迁移,迁移过程仅闪断一次(即当业务从RDS切换至PolarDB时)。
• 支持回滚,迁移失败可以在10分钟内恢复。
3) 一键克隆
云数据库PolarDB支持将RDS for MySQL一键克隆数据到新的PolarDB for MySQL集群,一键克隆功能将会新建一个与源RDS实例数据相同的PolarDB集群,PolarDB集群包含源RDS实例的账号、数据库、IP白名单和必要的参数。源RDS实例的增量数据不会同步到PolarDB集群。
• 克隆亮点:无成本,免费;克隆过程数据无丢失。
注意
一键克隆与一键迁移的区别是对增量数据的处理;另外迁移完成,尽快将应用的数据库连接地址修改为PolarDB的地址。
4) PolarDB之间数据迁移
云数据库PolarDB支持通过DTS将一个PolarDB集群的数据迁移到另一个PolarDB集群,并支持结构迁移、全量数据迁移和增量数据迁移。
• 预先创建源集群、目标集群。
• 增量数据迁移需要源PolarDB for MySQl集群需要开启Binlog。
• 如果源数据库没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。
• 迁移失败的任务,DTS会触发自动恢复。
• 业务切换至目标集群,需先停止或释放迁移任务,避免源端数据覆盖目标集群的数据。
• 用于数据迁移的数据库账号拥有读写权限。
5) RDS迁移至PolarDB
云数据库PolarDB支持通过DTS将RDS的数据迁移到一个PolarDB集群。支持全量数据迁移和增量数据迁移。源RDS实例的账号需拥有读写权限,目的PolarDB集群的账号需拥有迁移对象的ALL权限。
6) 本地MySQL迁移至PolarDB
云数据库PolarDB支持通过DTS将本地MySQL的数据迁移到一个PolarDB集群。通过DTS增量迁移的存储引擎,可以实现在本地应用不停服的情况下,将数据迁移到目标PolarDB for MySQL集群。
DTS在进行本地MySQL>POLARDB数据迁移时,为了解决对象间的依赖关系,提高迁移成功率,结构对象及数据的迁移顺序如下:
• 结构对象:表、视图的迁移。
• 全量数据迁移。
• 结构对象:存储过程、函数、触发器、外键的迁移。
• 增量数据迁移。
迁移权限要求
7) PolarDB迁移至RDS
• 云数据库PolarDB支持通过DTS将PolarDB for MySQL迁移至RDS for MySQL,迁移类型只包括结构迁移和全迁移,不支持增量迁移。
• 为保证迁移数据一致性,在开始迁移前,需停止写入数据到源PolarDB集群,另外目标实例的存储空间应大于源PolarDB集群已使用空间。
8) ECS自建MySQl迁移至PolarDB
云数据库PolarDB支持通过DTS将ECS上的自建MySQL数据库迁移至POLARDB for MySQL实例,包括结构迁移、全量迁移、增量迁移。
a) 迁移前提条件
• 获取ECS上的自建MySQL数据库的授权账号。
• 获取目标PolarDB实例的迁移账号。
b) 权限要求如表
更多精彩内容,欢迎观看:
《阿里云认证的解析与实战-关系型数据库ACP认证》——PolarDB云原生关系型数据库的解析与实践(中)—— 二、PolarDB的数据迁移(下):https://developer.aliyun.com/article/1222708?spm=a2c6h.13148508.setting.20.3f0e4f0eHU4Qk6