13.7.1.3 DROP USER 声明

DROP USER [IF EXISTS] user [, user] ...

DROP USER语句删除一个或多个 MySQL 帐户及其特权。它从所有授权 table 中删除该帐户的特权行。

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

如果您尝试删除一个不存在的帐户,则会发生错误。如果给出了IF EXISTS子句,则该语句将为每个不存在的命名用户生成警告,而不是错误。

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

DROP USER 'jeffrey'@'localhost';

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

Important

DROP USER不会自动关闭任何打开的用户会话。而是,如果删除了具有打开的会话的用户,则该语句在该用户的会话关闭之前不会生效。一旦关闭会话,该用户将被丢弃,并且该用户的下一次登录尝试将失败。 这是设计使然

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