Mysql 简明教程
MySQL - Drop User
删除 MySQL 中的用户将取消用户对特定数据库的访问和权限。这由数据库管理员执行,以维护安全性和控制谁可以与数据库系统交互,确保只有经过授权的用户才能访问和操作数据。
The MySQL Drop User Statement
你可以使用 DROP USER 语句在 MySQL 中删除一个或多个现有用户。一旦你删除了一个帐户,它的所有权限都将被删除。要执行此语句,你需要有 CREATE USER 权限。
Syntax
以下是 DROP USER 语句的语法 −
DROP USER [IF EXISTS] 'username'@'hostname';
其中, user_name 是你需要删除的 MySQL 用户的名称。
Example
假设我们已经创建了一个名为 'TestUser' 的 MySQL 用户帐户,如下所示 −
CREATE USER TestUser@localhost IDENTIFIED BY 'password1';
以下是所获得的输出 −
Query OK, 0 rows affected (0.04 sec)
你可以使用以下查询验证用户列表 −
SELECT user FROM MySQl.user;
表将显示如下 -
现在,让我们使用 DROP USER 语句删除上面创建的 'TestUser' 帐户,如下所示 −
DROP USER TestUser@localhost;
执行上述代码后,我们能看到如下所示的输出 −
Query OK, 0 rows affected (0.02 sec)
The IF EXISTS clause
如果你尝试删除一个不存在的 MySQL 用户,将生成一个错误。为了解决这个问题,MySQL 提供了 IF EXISTS 子句,它可用于 DROP USER 语句。
因此,IF EXISTS 子句允许你在用户存在的情况下删除它,并且它处理数据库中找不到指定用户的情况。
Example
在下面的查询中,我们尝试删除“demo”用户。但是,它会导致一个错误,因为用户不存在数据库中 −
DROP USER demo@localhost;
下面显示了产生的输出:
ERROR 1396 (HY000): Operation DROP USER failed for 'demo'@'localhost'
如果你像下面所示使用 IF EXISTS 子句和 DROP USER 语句,将删除指定用户,并且如果具有给定名称的用户不存在,将忽略该查询 −
DROP USER IF EXISTS demo;
获得的输出如下 −
Query OK, 0 rows affected, 1 warning (0.01 sec)