将MySQL迁移到MySQL 本页为使用数据传输服务DTS将MySQL数据迁移到MySQL的详细介绍,包括数据迁移支持的源库、目标库,支持的迁移对象及SQL,数据库账号权限说明,操作须知,操作步骤等。 支持的源和目标数据库 支持的源和目标数据库,如下表: 源数据库 目标数据库 RDS for MySQL 自建 MySQL 5.6部分版本/5.7/8.0 RDS for MySQL 5.7/8.0 说明 源库为自建MySQL数据库时,支持的版本为5.6部分版本/5.7/8.0。 源数据库版本不得高于目标数据库版本。 支持的迁移对象及SQL 迁移对象 当前DTS支持表级(指定的表对象)、库级(整库迁移)迁移。 支持表、索引、存储过程、视图、函数、事件、触发器的结构迁移。 支持源库账号及权限、密码迁移。 注意事项 视图、存储过程、函数依赖的表不支持做表名映射。 在结构迁移时,如果源数据源中包含视图(VIEW)、函数(FUNCTION)、存储过程(PROCEDURE)、触发器(TRIGGER)、事件(EVENT),DTS会将上述对象的定义者(DEFINER)转换为当前迁移任务中访问目标数据源的账号,原定义者账号将保留调用权限(INVOKER)。 数据迁移仅针对数据源中的用户数据库,而系统库会被自动过滤。例如:MySQL 类型数据源中的 informationschema、mysql、performanceschema、sys 库不会出现在可迁移列表当中。 迁移过程中,如果待迁移对象中存在触发器或事件,则系统会在全量迁移结束以后才会迁移触发器和事件。 若源库为空库(该库下未创建任何表、视图、函数、事件、触发器、存储过程),不支持作为待迁移对象。 如果待迁移对象包含无主键表,可能导致目标端数据重复,更因其上的更新、删除操作效率低而可能引发同步延迟变大的现象。 当进行账号权限迁移时: 会对源库账号的授权信息和目标库登录用户的授权信息进行检查;如果目标库登录用户不包含源库账号所需的授权信息,则该源库账号的权限不进行迁移。 如果源库和目标库存在相同的账号信息,则在目标端会跳过该账号和权限的迁移。 账号迁移在所有表,视图,函数等结构迁移完成之后再迁移。