MySQL 登录迁移是一项新功能,允许用户(包括没有密码的用户)迁移用户帐户和权限。 借助此功能,企业现在可以将 mysql 系统数据库中的一部分数据从源迁移到目标,以用于脱机和联机迁移方案。 这种登录名迁移体验可自动执行手动任务,例如将登录名与其相应用户映射同步,以及复制服务器权限和服务器角色。
当前实现
在当前实现中,用户可以在配置数据库迁移服务(DMS)迁移项目时,在“选择服务器对象”部分下的“选择数据库”选项卡中选中“迁移用户帐户和特权”复选框。
此外,还必须在“选择数据库”部分中选择任何具有相关授权的相应数据库进行迁移。
可以在 “初始加载 ”选项卡中查看进度和总体迁移摘要。在 “迁移摘要 ”窗格中,用户可以选择系统 mysql 数据库来查看迁移服务器级别对象(如用户和授予)的结果。
登录迁移的工作原理
作为登录迁移的一部分,我们会根据源版本迁移您系统数据库中的部分表 mysql。 我们为所有版本迁移的表包括:user、db、tables_priv、columns_priv和procs_priv。 对于 8.0 源,我们还迁移下列表格:role_edges、default_roles和global_grants。
限制
Azure Database for MySQL - 灵活服务器不支持静态权限,例如
CREATE TABLESPACE、FILE、SHUTDOWN和SUPER,因此登录迁移也不支持这些权限。只有配置有
mysql_native_password和caching_sha2_passwordsha256_password身份验证插件的用户才会迁移到目标服务器。 不支持依赖其他插件的用户。用户表中的
account_locked字段未被迁移。 如果帐户在源服务器上被锁定,则迁移后不会在目标服务器上锁定。proxies_privgrant 表和password_historygrant 表不会迁移。用户表中的
password_expired字段未被迁移。global_grants表的迁移仅迁移以下权限:xa_recover_admin,role_admin。不支持 Microsoft Entra ID 登录名迁移。