這是一個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)