• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • DROP USER语句

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

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

    mandatory_roles无法删除在系统变量值中命名的角色。

    要使用DROP USER,您必须具有全局CREATE USER特权或系统架构的DELETE特权mysql。当read_only启用了系统变量,DROP USER另外需要CONNECTION_ADMINSUPER特权。

    DROP USER要么对所有命名用户成功,要么回滚,并且如果发生任何错误,则无效。默认情况下,如果您尝试删除不存在的用户,则会发生错误。如果IF EXISTS给出了该子句,则该语句将为每个不存在的命名用户生成警告,而不是错误。

    如果成功,则将语句写入二进制日志;如果失败,则不写入语句。在这种情况下,将发生回滚并且不进行任何更改。写入二进制日志的语句包括所有命名的用户。如果IF EXISTS给出该子句,则甚至包括不存在且未被删除的用户。

    每个帐户名均使用“指定帐户名”中所述的格式。例如:

    DROP USER 'jeffrey'@'localhost';
    

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

    重要

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

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


    上篇:DROP ROLE语句

    下篇:GRANT语句