Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.7.1.7 重命名用户语句

RENAME USER old_user TO new_user
    [, old_user TO new_user] ...

语句RENAME USER重命名现有的MySQL账户。对老账户不存在或新账户已经存在的错误将发生。

要使用RENAME USER,您必须具有全局CREATE USER权限,或者UPDATE权限对mysql系统架构。启用read_only系统变量时,RENAME USER还需要CONNECTION_ADMIN权限(或弃用的SUPER权限)。

RENAME USER在重命名任何账户时失败,如果该账户是存储对象的SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER权限;在这种情况下,语句将成功,但将发出警告,而不是失败。有关详细信息,请参阅Orphan Stored Objects

每个账户名称都使用Section 8.2.4, “Specifying Account Names”中描述的格式。例如:

RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';

账户名称的主机部分,如果省略,默认为'%'

RENAME USER将老用户的权限转换为新用户的权限。但是RENAME USER不自动删除或无效老用户创建的数据库或对象。包括存储程序或视图,其中SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER权限。尝试访问这些对象可能会产生错误,如果它们在定义者安全上下文中执行。有关安全上下文,请参阅Section 27.6, “Stored Object Access Control”

权限更改将在Section 8.2.13, “When Privilege Changes Take Effect”中生效。