共计 1220 个字符,预计需要花费 4 分钟才能阅读完成。
这是一个 mysql 初学者经常问到的一个问题,今天我们就带大家看看是如何在 Mysql 中显示所有用户的。通常我们在 mysql 中使用 SHOW DATABASES 可以显示所有的数据库,SHOW TABLES 将会显示所有的数据表,那么你是不是会猜测显示所有用户的命令是 SHOW USERS 呢?不不不,并不是的,现在让我们一起来看看如何显示所有用户吧。
在 Mysql 中显示所有用户
1. 登录数据库
首先,你需要使用如下命令登录到数据库,注意,必须是 root 用户哦~
## mysql -u root -p
2. 查询用户表
在 Mysql 中其实有一个内置且名为 mysql 的数据库,这个数据库中存储的是 Mysql 的一些数据,比如用户、权限信息、存储过程等,所以呢,我们可以通过如下 简单的查询语句 来显示所有的用户呢。
SELECT User, Host, Password FROM mysql.user;
你将会看到如下这样的信息:
+------------------+--------------+--------------+
| user | host | password |
+------------------+--------------+--------------+
| root | localhost | 37as%#8123fs |
| debian-test-user | localhost | HmBEqPjC5Y |
| johnsm | localhost | |
| brian | localhost | |
| root | 111.111.111.1| |
| guest | % | |
| linuxprobe | 10.11.12.13 | RFsgY6aiVg |
+------------------+--------------+--------------+
7 rows in set (0.01 sec)
如果你想增加或减少一些列的显示,那么你只需要编辑这条 sql 语句即可,比如你只需要显示用户的用户名,那么你就可以这样使用SELECT User FROM mysql.user;,就是这样了,很简单嘛,就用这种方法就可以获得所有用户了呢,快去试试吧。
3. 显示所有的用户(不重复)
熟悉 Mysql 的朋友们都知道 DISTINCT 这个修饰的作用吧,对了,就是去除重复的数据,所以我们可以使用如下命令显示所有你的 Mysql 的用户而忽略那些仅仅是主机名不同的用户。
SELECT DISTINCT User FROM mysql.user;
这条命令的输出就像下面显示的这样:
+------------------+
| user |
+------------------+
| root |
| debian-test-user |
| johnsm |
| brian |
| guest |
| linuxprobe |
+------------------+
6 rows in set (0.01 sec)
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)