迁移数据库账号

更新时间: 2023-08-23 14:46:40

本文为您介绍如何通过数据传输服务DTS(Data Transmission Service)将源库中的数据库账号迁移至目标数据库。

背景信息

在您将源库的数据同步或迁移到目标库后,源库中的账号往往需要手动在目标库中创建和授权。手动在目标库创建账号需要有相关数据库的专业知识、耗费时间较多、容易遗漏等缺点,可能会导致业务受阻。针对需要迁移数据库账号的场景,DTS为您提供迁移账号的功能,您可以在配置同步或迁移任务过程中配置账号迁移功能,帮助您方便快捷的将源库的账号(包含密码和权限)迁移至目标库。

注意事项

  • 当前仅RDS MySQL实例间的同步或迁移实例,支持将源库的账号迁移至目标库。

  • 系统账号(如root、mysql.infoschema、mysql.session、mysql.sys等)不支持迁移至目标库。

  • 目标库已存在的账号不支持迁移。

  • 迁移账号时不支持重置账号密码。

  • 若迁移的账号为高权限账号,迁移至目标库后将会变为无授权数据库的普通账号。

数据库账号所需权限

若您需要迁移源数据库中的账号,则配置任务过程中使用的数据库账号有如下要求(高权限账号满足要求):

账号

权限

授权方式

源数据库账号

元数据表mysql.user、mysql.db、mysql.columns_priv、mysql.tables_priv的SELECT权限。

使用高权限账号,分别在源和目标库中执行如下命令进行授权:

源库

grant SELECT on mysql.user to user@'%';
grant SELECT on mysql.db to user@'%';
grant SELECT on mysql.columns_priv to user@'%';
grant SELECT on mysql.tables_priv to user@'%'

目标库

grant SELECT on mysql.user to user@'%';
grant CREATE USER on *.* to user@'%';
grant GRANT OPTION on *.* to user@'%';
说明

命令中的user需要替换为任务中使用的账号。

目标数据库账号

CREATE USER权限、GRANT OPTION权限和元数据表mysql.user的SELECT权限

操作步骤

高级配置阶段将是否迁移账号选择为,并根据需求选择需要迁移的账号。更多信息,请参见RDS MySQL实例间的同步RDS MySQL实例间的迁移

阿里云首页 数据传输服务 DTS 相关技术圈