共计 1643 个字符,预计需要花费 5 分钟才能阅读完成。
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;
输出应该如下所示:
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
: