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_password 和 sha256_password 身份验证插件进行配置的用户才会迁移到目标服务器。 不支持依赖其他插件的用户。
不会迁移用户表中的 account_locked 字段。 如果帐户在源服务器上被锁定,则迁移后不会在目标服务器上锁定。
不会迁移 proxies_priv 授权表和 password_history 授权表。
不会迁移用户表中的 password_expired 字段。
global_grants 表迁移仅迁移以下授权:xa_recover_admin、role_admin。
不支持 Microsoft Entra ID 登录名迁移。