DROP USER [IF EXISTS] user [, user] ...
该DROP USER
语句删除一个或多个 MySQL 帐户及其权限。它从所有授权表中删除帐户的权限行。
要使用DROP USER
,您必须具有全局CREATE USER
权限或系统数据库DELETE
权限
。mysql
当
read_only
启用系统变量时,DROP USER
额外需要SUPER
权限。
如果您尝试删除不存在的帐户,则会发生错误。如果IF EXISTS
给出该子句,该语句会为每个不存在的指定用户生成警告,而不是错误。
每个帐户名都使用 第 6.2.4 节“指定帐户名”中描述的格式。例如:
DROP USER 'jeffrey'@'localhost';
帐户名的主机名部分(如果省略)默认为
'%'
.
重要的
DROP USER
不会自动关闭任何打开的用户会话。相反,如果删除了打开会话的用户,则该语句在该用户的会话关闭之前不会生效。会话关闭后,用户将被删除,并且该用户的下一次登录尝试失败。这是设计使然。
DROP USER
不会自动删除或使旧用户创建的数据库或其中的对象失效。这包括DEFINER
属性命名已删除用户的存储程序或视图。如果它们在定义者安全上下文中执行,则尝试访问此类对象可能会产生错误。(有关安全上下文的信息,请参阅
第 23.6 节,“存储对象访问控制”。)