文档

迁移数据库账号

更新时间:

数据传输服务DTS(Data Transmission Service)支持迁移源库账号的功能。针对需要迁移数据库账号的场景,您可以在配置同步或迁移任务过程中启用账号迁移功能,帮助您方便快捷地将源库的账号(包含密码和权限)迁移至目标库。

背景信息

在您将源库的数据同步或迁移到目标库后,源库中的账号往往需要手动在目标库中创建和授权。手动在目标库创建账号需要有相关数据库的专业知识、耗费时间较多、容易遗漏等缺点,可能会导致业务受阻。

前提条件

  • 配置任务使用的源和目标库账号满足要求,具体要求请参见数据库账号所需权限

  • 使用DTS同步或迁移数据的库表结构。即在配置任务对象及高级配置阶段中,同步类型勾选了库表结构同步或者迁移类型勾选了库表结构迁移

注意事项

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

    说明

    目标RDS MySQL实例为5.6版本时,不支持迁移账号。

  • 系统账号(如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权限

操作步骤

高级配置阶段将是否迁移账号选择为,并根据需求选择需要迁移的账号。

说明

待迁移账号的格式为<username>@<host>,您可以根据实际情况修改<host>以指定该账号允许登录的主机。

后续步骤,请参见RDS MySQL实例间的同步RDS MySQL实例间的迁移

  • 本页导读 (1)
文档反馈