1417 Stimmen

Wie kann ich eine Liste von Benutzerkonten über die Befehlszeile in MySQL abrufen?

Ich verwende das MySQL-Befehlszeilenprogramm und kann durch eine Datenbank navigieren. Jetzt möchte ich eine Liste der Benutzerkonten sehen. Wie kann ich das tun?

Ich verwende MySQL Version 5.4.1.

0 Stimmen

@Mustapha Warum die Titeländerung? Die Antworten hier sind SQL, die man von überall aus ausführen kann, nicht nur von der Kommandozeile. Und was hat dieser Tag mit der Frage zu tun?

0 Stimmen

Der Zweck meiner Bearbeitung war es, die Kohärenz zwischen dem Titel und der Beschreibung aufrechtzuerhalten, aber ich denke, Sie haben ein gutes Argument. Machen Sie Ihre Bearbeitung Herr @Rup

31voto

Jesse Vogt Punkte 15441

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

select User from mysql.user;

24voto

Etzeitet Punkte 1935
SELECT * FROM mysql.user;

Es handelt sich um eine große Tabelle, so dass Sie bei der Auswahl der Felder vielleicht etwas wählerisch sein sollten.

2 Stimmen

Ich habe 3 Root-Benutzer mit verschiedenen Hosts. localhost , 127.0.0.1 y ::1 . Welche muss ich behalten und welche muss ich löschen? Danke!

4 Stimmen

Wenn Sie nicht möchten, dass andere Personen eine Verbindung über das Netzwerk herstellen, war es früher üblich, alle diese Dateien zu löschen. Heutzutage scheint es jedoch die Empfehlung zu sein, die localhosts zu behalten, da sie ohnehin nicht über das Netzwerk erreichbar sind; das heißt, Sie sollten stattdessen behalten. alle von ihnen.

19voto

sandip divekar Punkte 1448

Melden Sie sich bei MySQL als Root an und geben Sie die folgende Abfrage ein:

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+

0 Stimmen

Ich würde sagen, +1 für die Erwähnung des Einloggens als Root. Ich habe versucht, ohne dies zu tun und es hat nicht funktioniert ;)

0 Stimmen

Sie müssen user1 die Berechtigung geben, die Benutzerliste anzuzeigen. Ohne Root-Benutzer erhalten Sie einen Fehler. Geben Sie also zuerst die Berechtigungen. Melden Sie sich als Root-Benutzer an und geben Sie den Befehl GRANT SELECT ON mysql.user TO 'user1'@'localhost'; Melden Sie sich nun als Benutzer1 an und geben Sie den Befehl select User from mysql.user; Sie werden eine Benutzerliste angezeigt bekommen :) +1 Viel Spaß

17voto

Brad Dre Punkte 2867

Die Tabelle mysql.db ist möglicherweise wichtiger für die Festlegung der Benutzerrechte. Ich denke, dass ein Eintrag in ihr erstellt wird, wenn Sie eine Tabelle im GRANT-Befehl erwähnen. In meinem Fall zeigte die Tabelle mysql.users keine Berechtigungen für einen Benutzer an, obwohl er offensichtlich in der Lage war, eine Verbindung herzustellen und auszuwählen usw.

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

2 Stimmen

Meiner Meinung nach ist es wichtig, was die Benutzer in der Datenbank tun dürfen. Daher ist "SHOW GRANTS" recht nützlich, da es zeigt, wer was tun darf.

13voto

Tobias Holm Punkte 241

Ich verwende dies, um die Benutzer zu sortieren, damit die zugelassenen Gastgeber leichter zu erkennen sind:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X