如何删除MySQL用户帐户

2022-08-18 16:53:01 浏览数 (1)

MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权限或完全删除用户帐户。

本教程介绍如何删除MySQL/MariaDB用户帐户。

DROP USER语句

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

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

例如,要删除linux@localhost用户帐户登录到MYSQL shell并运行:

mysql> DROP USER 'linux'@'localhost';

成功后,命令将返回:

Query OK, 0 rows affected (0.00 sec)

如下图:

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

DROP USER 'linux@localhost' 'linuxidc@localhost';

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

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

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

删除MySQL用户帐户

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

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

sudo mysql

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

mysql -u root -p

以下命令在MySQL shell中执行。

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

SELECT User, Host FROM mysql.user;

输出应该如下所示:

代码语言:javascript复制
mysql> SELECT User, Host FROM mysql.user;
 ------------------ ----------- 
| User             | Host      |
 ------------------ ----------- 
| linuxmi          | %         |
| linux            | localhost |
| linuxidc         | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
 ------------------ ----------- 
7 rows in set (0.01 sec)

在MySQL中,用户帐户由用户名和主机名部分组成。linuxidc@localhost 和 linuxidc@192.168.1.133是不同的用户帐户。

假设不再需要linuxidc@localhost用户帐户,我们希望将其删除。

要删除用户运行:

DROP USER 'linuxidc'@'localhost'

输出

Query OK, 0 rows affected (0.00 sec)

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

现在用户已被删除,您可能还想删除与该用户关联的数据库。

总结

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

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

  • CentOS 7.6下yum安装MySQL 8.0版本图文教程  https://www.linuxidc.com/Linux/2019-08/160316.htm
  • 在Ubuntu 18.04上安装带有Nginx,MariaDB 10和PHP 7的WordPress  https://www.linuxidc.com/Linux/2019-03/157315.htm
  • 如何创建MySQL用户帐户和授予权限 https://www.linuxidc.com/Linux/2019-08/160321.htm

0 人点赞