如何删除MySQL用户帐户

MySQL允许您创建多个用户帐户并授予适当的特权,以便用户可以连接和管理数据库。

如果不再需要该用户帐户,则最好删除用户特权或完全删除该用户帐户。

本教程说明了如何删除MySQL / MariaDB用户帐户。

DROP USER 声明编号

在MySQL中,您可以使用以下命令删除一个或多个用户并分配特权 DROP USER 声明。 该语句的一般语法如下:

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

例如删除 [email protected] 用户帐户登录到MYSQL Shell并运行:

DROP USER '[email protected]';

成功后,命令将返回:

Query OK, 0 rows affected (0.00 sec)

要在单个命令中删除多个用户帐户,请运行 DROP USER 语句后跟要删除的用户,并以空格分隔:

DROP USER '[email protected]' '[email protected]';

如果您尝试删除一个不存在的用户帐户,并且 IF EXISTS 未使用该子句的命令将返回错误。

如果您要删除的用户当前已登录,则该用户会话将不会关闭,并且该用户将能够运行查询,直到会话结束。 一旦关闭会话,用户将被删除,它将不再能够登录MySQL服务器。

用户创建的数据库和对象不会自动删除。

删除MySQL用户帐号

本节逐步说明如何列出和删除MySQL用户帐户。

首先,以root或其他管理用户身份登录MySQL shell。 为此,请键入以下命令:

sudo mysql

如果您使用旧的本地MySQL身份验证插件以root用户身份登录,请运行以下命令并在出现提示时输入密码:

mysql -u root -p

以下命令在MySQL Shell中执行。

MySQL将有关用户的信息存储在 user 中的表 mysql 数据库。 使用以下 SELECT 语句以获取所有MySQL用户帐户的列表:

SELECT User, Host FROM mysql.user;

输出应如下所示:

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | localhost |
| luke             | %         |
| jabba            | localhost |
| jabba            | 10.10.8.8 |
| chewbacca        | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

在MySQL中,用户帐户由用户名和主机名部分组成。 [email protected][email protected] 是不同的用户帐户。

假设 [email protected] 用户帐户不再需要,我们希望将其删除。

要删除用户运行:

DROP USER 'chewbacca'@'localhost'
Query OK, 0 rows affected (0.00 sec)

该命令将删除用户帐户及其特权。

现在,删除了该用户,您可能还希望删除与该用户关联的数据库。

结论#

要删除MySQL用户帐户,请使用 DROP USER 语句后跟要删除的用户名。

如果您有任何疑问或反馈,请随时发表评论。

MySQL数据库

Sidebar