MySQL允许你创建多个用户账户并授予适当的权限,以便用户可以连接和管理数据库。
如果不再需要用户账户,最好是删除用户权限或完全删除用户账户。
本教程解释了如何删除MySQL/MariaDB用户账户。
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服务器。
该用户创建的数据库和对象不会被自动删除。
$ sudo mysql
如果你使用旧的、原生的MySQL认证插件,以root身份登录,运行下面的命令,并在提示时输入密码。
$ mysql -u root -p
下面的命令是在MySQL外壳内执行的。
MySQL存储关于用户的信息,在mysql数据库的用户表中。使用下面的SELECT语句来获得所有MySQL用户账户的列表。
$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的用户账户不再需要了,我们想删除它。
要删除该用户,请运行。
$ mysql> DROP USER 'chewbacca'@'localhost'
Query OK, 0 rows affected (0.00 sec)
该命令将删除该用户账户和它的权限。
现在用户被删除了,你可能也想删除与该用户相关的数据库。
上一条: 如何在Linux中查找/获取你的IP地址
下一条: linux如何检查Python的版本