win7 - mysql workbench
如何獲取MySQL用戶帳戶的列表 (10)
我正在使用MySQL命令行實用程序並可以瀏覽數據庫。 現在我需要查看用戶帳戶的列表。 我怎樣才能做到這一點?
我正在使用MySQL版本5.4.1
。
MySQL將用戶信息存儲在自己的數據庫中。 數據庫的名稱是MySQL
。 在該數據庫中,用戶信息位於一個表中,一個數據集,名為user
。 如果您想查看MySQL用戶表中設置的用戶,請運行以下命令:
SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
| root | demohost |
| root | 127.0.0.1 |
| debian-sys-maint | localhost |
| | % |
+------------------+-----------+
mysql.db表在確定用戶權限時可能更重要。 我認為如果你在GRANT命令中提到一個表格,就會創建一個條目。 在我的情況下,mysql.users表顯示用戶顯然無法連接和選擇等權限。
mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Del...
使用此查詢:
SELECT User FROM mysql.user;
哪個會輸出這樣的表格:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
正如Matthew Scharley 在對這個答案的評論中指出的那樣,如果您只想看到唯一的用戶名,您可以按User
列進行分組。
如果您指的是實際的MySQL用戶,請嘗試:
select User from mysql.user;
我使用這種方式對用戶進行排序,因此允許的主機更容易被發現:
mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;
我發現他更有用,因為它提供了有關DML和DDL權限的其他信息
SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv,
Create_priv, Drop_priv, Shutdown_priv, Create_user_priv
FROM mysql.user;
用戶帳戶包括用戶名和主機級訪問權限。
因此,這是提供所有用戶帳戶的查詢
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
這裡顯示唯一用戶列表。
SELECT DISTINCT User FROM mysql.user;
$> mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt
在linux提示符下執行這個命令會先詢問mysql root用戶的密碼,在提供正確的密碼後它會把所有的數據庫用戶打印到文本文件中。
SELECT * FROM mysql.user;
這是一張很大的桌子,所以你可能想要更多地選擇你選擇的領域。