it-swarm.com.de

So erhalten Sie eine Liste der MySQL-Benutzerkonten

Ich verwende das MySQL-Befehlszeilenprogramm und kann durch eine Datenbank navigieren. Jetzt muss ich eine Liste der Benutzerkonten sehen. Wie kann ich das machen?

Ich verwende MySQL-Version 5.4.1.

1270
burntsugar

Verwenden Sie diese Abfrage:

SELECT User FROM mysql.user;

Welche wird eine Tabelle wie folgt ausgeben:

+-------+
| User  |
+-------+
| root  |
+-------+
| user2 |
+-------+

Wie Matthew Scharley in den Kommentaren zu dieser Antwort hervorhebt , können Sie nach der Spalte User gruppieren, wenn Sie nur eindeutige Benutzernamen sehen möchten.

1791
George Claghorn

Ich finde dieses Format am nützlichsten, da es das Host-Feld enthält, das in MySQL wichtig ist, um Benutzerdatensätze zu unterscheiden.

select User,Host from mysql.user;
425
spkane

Ein Benutzerkonto umfasst den Benutzernamen und den Zugriff auf Host-Ebene.

Daher ist dies die Abfrage, die allen Benutzer Konten gibt

SELECT CONCAT(QUOTE(user),'@',QUOTE(Host)) UserAccount FROM mysql.user;
112
RolandoMySQLDBA

so vermeiden Sie Wiederholungen von Benutzern, wenn sie eine Verbindung aus unterschiedlichen Ursprungsländern herstellen:

select distinct User from mysql.user;
47
Nicolas Manzini

Wenn Sie sich auf die tatsächlichen MySQL-Benutzer beziehen, versuchen Sie Folgendes:

select User from mysql.user;
28
Jesse Vogt

MySQL speichert die Benutzerinformationen in einer eigenen Datenbank. Der Name der Datenbank lautet MySQL. In dieser Datenbank befinden sich die Benutzerinformationen in einer Tabelle, einem Datensatz mit dem Namen user. Wenn Sie sehen möchten, welche Benutzer in der MySQL-Benutzertabelle eingerichtet sind, führen Sie den folgenden Befehl aus:

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| root             | demohost  |
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
|                  | %         |
+------------------+-----------+
25
VPK
SELECT * FROM mysql.user;

Es handelt sich um eine große Tabelle, daher sollten Sie die ausgewählten Felder genauer auswählen. 

20
Etzeitet

Melden Sie sich als root bei mysql an und geben Sie die folgende Abfrage ein 

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+
17
sandip divekar

Die mysql.db-Tabelle ist möglicherweise wichtiger für die Bestimmung der Benutzerrechte. Ich denke, ein Eintrag darin wird erstellt, wenn Sie eine Tabelle im GRANT-Befehl erwähnen. In meinem Fall zeigte die Tabelle mysql.users keine Berechtigungen für einen Benutzer, wenn offensichtlich eine Verbindung hergestellt und ausgewählt werden konnte usw.

mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host          | Db              | User   | Select_priv | Insert_priv | Update_priv | Del...
15
Brad Dre

Peter und Jesse sind korrekt, aber stellen Sie sicher, dass Sie zuerst die mysql-DB auswählen.

use mysql;

select User from mysql.user;

das sollte deinen Trick tun

11
Armin Nehzat

Ich benutze dies, um die Benutzer zu sortieren, sodass die erlaubten Hosts leichter zu erkennen sind:

mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;
11
Tobias Holm

Dies zeigt eine Liste von eindeutigen Benutzern an:

SELECT DISTINCT User FROM mysql.user;
9
Nikhil Chavda
$>  mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt

Wenn Sie diesen Befehl unter linux Prompt ausführen, werden Sie zunächst nach dem Kennwort des root-Benutzers von mysql gefragt. Wenn Sie das richtige Kennwort angeben, werden alle Datenbankbenutzer in die Textdatei geschrieben.

4

Ich fand das eine mehr nützlich, da es zusätzliche Informationen zu DML- und DDL-Berechtigungen enthält

SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv, 
       Create_priv, Drop_priv, Shutdown_priv, Create_user_priv 
FROM mysql.user;
3
hi-zir
SELECT User FROM mysql.user;

verwenden Sie die obige Abfrage, um MySQL-Benutzer zu erhalten

0
Arun Karnawat