典名科技本文主要介绍阿里云PolarDB MySQL 云原生数据库中从其它数据库迁移至PolarDB的帮助文档。从自建MySQL迁移至PolarDB MySQL、从Amazon Aurora MySQL迁移至PolarDB MySQL、从本地MySQL迁移至PolarDB MySQL。阿里云数据库
PolarDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,可完全兼容MySQL,具备简单易用、高性能、高可靠、高可用等优势。通过数据传输服务DTS(Data Transmission Service),可以帮助您将自建MySQL数据库迁移至PolarDB MySQL。
ROUND(COLUMN,PRECISION)
来读取该列的值。如果没有明确定义其精度,DTS对FLOAT的迁移精度为38位,对DOUBLE的迁移精度为308位,请确认迁移精度是否符合业务预期。迁移类型 | 链路配置费用 | 公网流量费用 |
---|---|---|
结构迁移和全量数据迁移 | 不收费。 | 通过公网将数据迁移出阿里云时将收费,详情请参见产品定价。 |
增量数据迁移 | 收费,详情请参见产品定价。 |
操作类型 | SQL操作语句 |
---|---|
DML | INSERT、UPDATE、DELETE、REPLACE |
DDL |
|
数据库 | 结构/全量迁移 | 增量迁移 |
---|---|---|
自建MySQL数据库 | SELECT权限 | REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和SELECT权限 |
PolarDB集群 | 读写权限 | 读写权限 |
数据库账号创建及授权方法:
为自建MySQL创建账号并设置binlog
如何使用数据传输服务DTS(Data Transmission Service),将Amazon Aurora MySQL迁移至阿里云PolarDB MySQL。DTS支持结构迁移、全量数据迁移以及增量数据迁移,同时使用这三种迁移类型可以实现在自建应用不停服的情况下,平滑地完成数据库迁移。
ROUND(COLUMN,PRECISION)
来读取该列的值。如果没有明确定义其精度,DTS对FLOAT的迁移精度为38位,对DOUBLE的迁移精度为308位,请确认迁移精度是否符合业务预期。迁移类型 | 链路配置费用 | 公网流量费用 |
---|---|---|
结构迁移和全量数据迁移 | 不收费。 | 通过公网将数据迁移出阿里云时将收费,详情请参见产品定价。 |
增量数据迁移 | 收费,详情请参见产品定价。 |
DTS将待迁移对象的结构定义迁移到阿里云PolarDB MySQL,目前DTS支持结构迁移的对象为表、视图、触发器、存储过程、存储函数,不支持event的结构迁移。
在全量迁移的基础上,DTS会读取Amazon Aurora MySQL的binlog信息,将Amazon Aurora MySQL的增量更新数据同步到阿里云PolarDB MySQL中。通过增量数据迁移可以实现在应用不停服的情况下,平滑地完成MySQL数据库的迁移。
数据库 | 结构迁移 | 全量迁移 | 增量迁移 |
---|---|---|---|
Amazon Aurora MySQL | 迁移对象的SELECT权限 | 迁移对象的SELECT权限 | REPLICATION SLAVE、REPLICATION CLIENT、SHOW VIEW和对迁移对象执行SELECT操作的权限 |
阿里云PolarDB MySQL | 迁移对象的读写权限 | 迁移对象的读写权限 | 迁移对象的读写权限 |
数据库账号创建及授权方法:
使用DTS进行本地MySQL迁移至PolarDB MySQL的任务配置流程。
:本地MySQL数据库的用户名。
:允许登录数据库的IP地址,localhost表示只能本地登录数据库,%表示任何IP地址都能登录数据库。
:数据库的用户名对应的密码。使用阿里云数据传输服务(DTS),您可以实现本地MySQL到PolarDB MySQL集群的数据迁移。通过DTS增量迁移的存储引擎,可以实现在本地应用不停服的情况下,将数据迁移到目标PolarDB MySQL集群。
对于 数据迁移,DTS支持增量数据迁移的SQL操作如下:
INSERT、UPDATE、DELETE、REPLACE
ALTER TABLE、ALTER VIEW、ALTER FUNCTION、ALTER PROCEDURE
CREATE DATABASE、CREATE SCHEMA、CREATE INDEX、CREATE TABLE、CREATE PROCEDURE、CREATE
FUNCTION、CREATE TRIGGER、CREATE VIEW、CREATE EVENT
DROP FUNCTION、DROP EVENT、DROP INDEX、DROP PROCEDURE、DROP TABLE、DROP TRIGGER、DROP
VIEW
RENAME TABLE、TRUNCATE TABLE
ROUND(COLUMN,PRECISION)
来读取该列的值。如果没有明确定义其精度,DTS对FLOAT的迁移精度为38位,对DOUBLE的迁移精度为308位,请确认迁移精度是否符合业务预期。binlog_format
要为row
。binlog_row_image
必须为full
。迁移类型 | 链路配置费用 | 公网流量费用 |
---|---|---|
结构迁移和全量数据迁移 | 不收费。 | 通过公网将数据迁移出阿里云时将收费,详情请参见产品定价。 |
增量数据迁移 | 收费,详情请参见产品定价。 |
迁移类型 | 结构迁移 | 全量数据迁移 | 增量数据迁移 |
---|---|---|---|
本地MySQL实例 | SELECT | SELECT | SUPER SELECT REPLICATION SLAVE REPLICATION CLIENT |
目标端PolarDB集群 | 读写权限 | 读写权限 | 读写权限 |
如何为PolarDB集群创建数据库请参见创建数据库账号。
DTS在进行 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下: