Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

15.7.1.7 重命名用户语句

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

重命名用户语句重命名现有的 MySQL 帐户。如果旧帐户不存在或新帐户已经存在,将发生错误。

要使用重命名用户,您必须拥有全局CREATE USER权限,或者拥有UPDATE权限的mysql系统模式。当read_only系统变量启用时,重命名用户还需要CONNECTION_ADMIN权限(或已弃用的SUPER权限)。

重命名用户如果要重命名的任何帐户是存储对象的DEFINER属性,将失败并出现错误。(也就是说,该语句失败,因为重命名帐户将使存储对象变为孤立的。)要执行该操作,您必须拥有SET_USER_ID权限;在这种情况下,该语句将成功并发出警告,而不是出现错误。有关更多信息,包括如何标识哪些对象将给定帐户作为DEFINER属性,请参阅孤立存储对象

每个帐户名称使用第 8.2.4 节“指定帐户名称”中描述的格式。例如:

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

如果省略主机名部分,默认为'%'

重命名用户使旧用户拥有的权限变为新用户拥有的权限。然而,重命名用户不会自动删除或使旧用户创建的数据库或对象无效。这包括存储程序或视图,其中DEFINER属性命名旧用户。尝试访问这些对象可能会产生错误,如果它们在定义者安全上下文中执行。(有关安全上下文的信息,请参阅第 27.6 节“存储对象访问控制”。)

权限更改的生效方式见第 8.2.13 节“权限更改生效”