1. Überblick über MySQL-Benutzer
MySQL-Benutzerverwaltung ist ein kritischer Aspekt der Datenbanksicherheit und des Betriebs. Eine ordnungsgemäße Benutzerverwaltung hilft, unbefugten Zugriff zu verhindern und die Betriebseffizienz zu steigern, indem geeignete Privilegien zugewiesen werden. In diesem Artikel erklären wir im Detail, wie MySQL-Benutzerinformationen gespeichert werden und wie Sie eine Benutzerliste anzeigen können.
1.1 Warum die MySQL-Benutzerverwaltung wichtig ist
Da Datenbanken sensible Informationen speichern, ist eine ordnungsgemäße Benutzerverwaltung unerlässlich. Durch die detaillierte Konfiguration von Zugriffsprivilegien für jeden Benutzer können Sie die Sicherheit stärken und die Datenintegrität wahren.
2. Wo MySQL Benutzerinformationen speichert
MySQL-Benutzerinformationen werden in der Tabelle user innerhalb der Datenbank mysql gespeichert. Diese Tabelle enthält verschiedene benutzerbezogene Details wie Benutzernamen, Hostnamen, Passwörter (verschlüsselt) und Authentifizierungs‑Plugins.
2.1 Struktur der Tabelle mysql.user
Die Tabelle mysql.user enthält viele Spalten, von denen jede unterschiedliche Informationen zu einem Benutzer speichert. Sie umfasst Spalten wie:
Host: Der Hostname, von dem aus der Benutzer sich verbinden darfUser: Der BenutzernamePassword: Das verschlüsselte Passwortplugin: Der Typ des Authentifizierungs‑Plugins- Weitere sicherheitsrelevante Einstellungen
Um auf diese Tabelle zuzugreifen, benötigen Sie root‑Privilegien oder SELECT‑Privilegien für mysql.user.
3. Wie man eine Liste von MySQL‑Benutzern erhält
Um eine Liste von MySQL‑Benutzern abzurufen, müssen Sie die Tabelle mysql.user abfragen. Im Folgenden erklären wir alles, von der einfachen Abfrage zur Auflistung von Benutzern bis hin zur Anzeige verschlüsselter Passwörter.
3.1 Grundlegende Abfrage zur Auflistung von Benutzern
Zunächst hier die grundlegende Abfrage, um eine Benutzerliste aus der Tabelle mysql.user abzurufen.
SELECT Host, User FROM mysql.user;
Wenn Sie diese Abfrage ausführen, wird eine Liste aller Benutzer und ihrer zugehörigen Hosts angezeigt.
3.2 Anzeige verschlüsselter Passwörter
Um eine Liste zu erhalten, die verschlüsselte Passwörter enthält, verwenden Sie die folgende Abfrage.
SELECT Host, User, Password FROM mysql.user;
Diese Abfrage zeigt den Hostnamen, den Benutzernamen und das verschlüsselte Passwort an. Da das Passwort jedoch verschlüsselt ist, können Sie das tatsächliche Passwort aus diesem Wert nicht ermitteln.
4. Abrufen weiterer Benutzerinformationen
In MySQL können Sie zusätzliche Informationen über Benutzer abrufen. Insbesondere ist es nützlich, die Benutzerprivilegien zu prüfen und den aktuell verbundenen Benutzer zu ermitteln.
4.1 Überprüfung von Benutzerprivilegien
Um die jedem Benutzer zugewiesenen Privilegien zu prüfen, verwenden Sie das Statement SHOW GRANTS.
SHOW GRANTS FOR 'username'@'host';
Dieser Befehl zeigt alle dem angegebenen Benutzer gewährten Privilegien an. Eine ordnungsgemäße Verwaltung von Benutzerprivilegien trägt zur Stärkung der Datenbanksicherheit bei.
4.2 Überprüfung des aktuell verbundenen Benutzers
Um Informationen über den aktuell verbundenen Benutzer zu prüfen, verwenden Sie die Funktionen user() und current_user().
SELECT user(), current_user();
Diese Abfrage gibt den bei der Verbindung angegebenen Benutzernamen sowie den tatsächlich authentifizierten Benutzernamen zurück. In den meisten Fällen sind sie identisch, können jedoch in bestimmten Situationen, z. B. bei Verwendung anonymer Benutzer, abweichen.

5. Praktisches Beispiel
Im Folgenden ein praktisches Beispiel, wie man in MySQL eine Benutzerliste anzeigt.
5.1 Schritte zur Anzeige der Benutzerliste
- Melden Sie sich bei MySQL an. In diesem Beispiel verwenden wir den Benutzer
root.mysql -u root -p - Führen Sie die folgende Abfrage aus, um die Benutzerliste anzuzeigen.
SELECT Host, User FROM mysql.user; - Wenn Sie die Liste einschließlich verschlüsselter Passwörter anzeigen möchten, verwenden Sie die folgende Abfrage.
SELECT Host, User, Password FROM mysql.user;
5.2 Überprüfung von Privilegien
Um die Privilegien für einen bestimmten Benutzer zu prüfen, verwenden Sie das Statement SHOW GRANTS.
SHOW GRANTS FOR 'tanaka'@'localhost';
Dieser Befehl zeigt die dem Benutzer tanaka gewährten Privilegien an.
6. Best Practices für die MySQL‑Benutzerverwaltung
6.1 Überprüfen Sie die Benutzerliste regelmäßig
Wir empfehlen, die Tabelle mysql.user regelmäßig zu prüfen, um sicherzustellen, dass keine unnötigen Benutzer vorhanden sind und dass keinen Benutzern falsche Berechtigungen zugewiesen wurden.
6.2 Verwenden Sie starke Passwörter
Stellen Sie sicher, dass jeder Benutzer ein starkes und komplexes Passwort hat. Dies verringert das Risiko eines unbefugten Zugriffs.
6.3 Gewähren Sie die minimal erforderlichen Berechtigungen
Beschränken Sie die Benutzerberechtigungen auf das notwendige Minimum und erlauben Sie nur die erforderlichen Vorgänge. Dies verbessert die Gesamtsicherheit der Datenbank.
7. Zusammenfassung
In diesem Artikel haben wir das MySQL‑Benutzer‑Management ausführlich erklärt. Das Verständnis, wo Benutzerdaten gespeichert werden und wie man sie auflistet, ist wichtig für die Aufrechterhaltung der Datenbanksicherheit. Darüber hinaus hilft das Wissen darüber, wie man Benutzerberechtigungen und Verbindungsdetails prüft, dabei, MySQL effizienter zu verwalten.


