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.
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.
Verwenden Sie diese Abfrage:
SELECT User FROM mysql.user;
Dadurch wird eine Tabelle wie die folgende ausgegeben:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Als Matthew Scharley weist in den Kommentaren zu dieser Antwort darauf hin können Sie eine Gruppe nach dem User
Spalte, wenn Sie nur eindeutige Benutzernamen sehen möchten.
Ich denke, es könnte notwendig sein, eine Gruppe zu bilden User
auch, um nur eindeutige Benutzerwerte zu erhalten, da es für jeden Benutzer eine eigene Zeile gibt user
@ host
Eintrag.
@barrycarter DELETE FROM mysql.user;
besser haben WHERE user='someuser' and host='somehost';
Wenn Sie das tun DELETE FROM mysql.user;
sind alle Benutzer verschwunden. Logins nach dem nächsten mysql-Neustart oder FLUSH PRIVILEGES;
Benutzer aus dem Gedächtnis löschen. Hier ist ein Beispiel für einen meiner Beiträge zum Thema DELETE FROM mysql.user
verantwortungsbewusst: dba.stackexchange.com/questions/4614/
Einfach neugierig. Wann wird diese host
bei der Arbeit mit Mysql-Datenbanken ins Spiel kommen? [Mysql Noob]
Dies ist im Grunde dasselbe wie spkane's Antwort . Welchen Vorteil hat die Verkettung der Spalten user und host?
Ein Beispiel: die user@host
Format wird für die Festlegung von Passwörtern verwendet. Das Weglassen des Hosts in der SET PASSWORD
erzeugt einen Fehler. SET PASSWORD FOR wordpressuser = PASSWORD('...');
erzeugt den Fehler ERROR 1133 (42000): Can't find any matching row in the user table
. Binden Sie den Host ein und es funktioniert. SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
produziert Query OK, 0 rows affected (0.00 sec)
.
MySQL speichert die Benutzerinformationen in seiner eigenen Datenbank. Der Name der Datenbank lautet MySQL
. In dieser Datenbank befinden sich die Benutzerinformationen in einer Tabelle, einem Dataset, 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 |
| | % |
+------------------+-----------+
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.
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