如何删除MySQL用户帐户
MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权权限或完全删除用户帐户
MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权权限或完全删除用户帐户。
本教程介绍了如何删除MySQL/MariaDB用户帐户。包括如何查看所有MySQL/MariaDB用户帐户,删除当前已登录用户,使用DROP USER声明,用户帐户的组成用户名和主机名。
使用DROP USER声明
在MySQL中,您可以使用DROP USER
语句删除一个或多个用户。该语句的语法一般如下:
DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT] ...
例如,删除brian@localhost
用户帐户,登录到MYSQL shell并运行:
DROP USER 'brian@localhost';
成功后,命令将返回:
Query OK, 0 rows affected (0.00 sec)
要在单个命令中删除多个用户帐户,请运行DROP USER
语句,然后运行要删除的用户,并以空格分隔:
DROP USER 'brian@localhost' 'any@localhost';
如果您尝试删除不存在的用户帐户并且未使用IF EXISTS
子句,则该命令将返回错误。
如果您要删除当前已登录的用户,则用户会话不会被关闭,并且用户将可以运行查询,直到会话结束。会话关闭后,用户将被删除,它将不再能够登录MySQL服务器。用户创建的数据库和对象不会自动删除。
删除MySQL用户帐户
本节逐步说明如何列出和删除MySQL用户帐户。首先,以root或其他管理用户登录MySQL shell。为此,请键入以下命令:
sudo mysql
如果您使用旧的本地MySQL身份验证插件以root用户身份登录,请运行以下命令并在出现提示时输入密码:
mysql -u root -p
你将会登录到MySQL Shell。
MySQL在mysql
数据库的user
表中存储用户的信息。使用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中,用户帐户由用户名和主机名两部分组成。 jabba@localhost
和jabba@10.10.8.8
是不同的用户帐户。假设不再需要chewbacca@localhost
用户帐户,我们希望将其删除。要删除用户运行:
DROP USER 'chewbacca'@'localhost'
Query OK, 0 rows affected (0.00 sec)
该命令将删除用户帐户及其权限。现在,该用户已被删除,您可能还想删除与该用户关联的数据库。
结论
要删除MySQL用户帐户,请使用DROP USER
语句,后跟要删除的用户名。如果您有任何问题或反馈,请随时发表评论。