13.7.1.5 RENAME USER 声明

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

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

要使用RENAME USER,您必须具有全局CREATE USER特权或mysql系统数据库的UPDATE特权。启用read_only系统变量后,RENAME USER还需要SUPER特权。

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

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

帐户名的主机名部分(如果省略)默认为'%'

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

特权更改如第 6.2.9 节“特权更改何时生效”所示生效。