1. Warum Benutzer in MySQL erstellen?
Die Bedeutung der Benutzerverwaltung in MySQL
MySQL ist ein Datenbankverwaltungssystem, das von Unternehmen und einzelnen Projekten weit verbreitet eingesetzt wird, und die Benutzerverwaltung ist entscheidend für die Aufrechterhaltung von Sicherheit und Effizienz. In groß angelegten Anwendungen benötigen beispielsweise mehrere Entwickler und Administratoren Zugriff auf die Datenbank. In solchen Fällen ist es wichtig, jedem Benutzer unterschiedliche Rechte zuzuweisen und den Datenzugriff sowie die Operationen angemessen zu beschränken.
Durch das Gewähren spezifischer Rechte kann das Risiko von Datenverlust oder Sicherheitsproblemen, die durch unnötige Operationen entstehen, reduziert werden. Darüber hinaus hilft eine ordnungsgemäße Passwortverwaltung für jeden Benutzer, unbefugten externen Zugriff zu verhindern. Dadurch werden sowohl die Datensicherheit als auch die Systemleistung verbessert.
2. Schritte zum Erstellen eines Benutzers in MySQL
Grundlegender Befehl zum Erstellen eines Benutzers
Um einen Benutzer in MySQL zu erstellen, verwenden Sie den Befehl CREATE USER. Der folgende Befehl erstellt einen neuen Benutzer.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
'username': Der Name des zu erstellenden neuen Benutzers.'localhost': Der Ort, von dem aus sich der Benutzer verbinden kann (wenn auflocalhostgesetzt, ist der Zugriff auf denselben Server beschränkt).'password': Das dem Benutzer zugewiesene Passwort.
Standardmäßig kann ein Benutzer nur vom localhost aus auf die Datenbank zugreifen. Wenn Sie den Zugriff von einer anderen IP‑Adresse erlauben möchten, ersetzen Sie localhost durch die gewünschte IP‑Adresse.
Optionen beim Erstellen eines Benutzers
In MySQL können Sie beim Anlegen eines Benutzers auch zusätzliche Optionen konfigurieren. Beispielsweise können Sie ein bestimmtes Authentifizierungs‑Plugin wie unten gezeigt angeben.
CREATE USER 'username'@'localhost' IDENTIFIED WITH 'auth_plugin' BY 'password';
Das auth_plugin gibt die MySQL‑Authentifizierungsmethode an (z. B. caching_sha2_password). Dies trägt zur Erhöhung der Passwortsicherheit bei.

3. Gewähren von Berechtigungen an Benutzer
Überblick und Bedeutung von Berechtigungen
Standardmäßig kann ein neu erstellter MySQL‑Benutzer keine Operationen ausführen. Um einem Benutzer Aktionen zu erlauben, müssen Sie Berechtigungen mit dem Befehl GRANT vergeben. Um einem Benutzer alle Berechtigungen zu geben, verwenden Sie beispielsweise den folgenden Befehl.
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
Dieser Befehl erlaubt dem angegebenen Benutzer, alle Operationen auf allen Tabellen innerhalb von database_name auszuführen. Das Gewähren von Vollzugriff birgt jedoch Sicherheitsrisiken, daher wird empfohlen, nur die tatsächlich notwendigen Operationen zu erlauben.
Wie man spezifische Berechtigungen vergibt
In MySQL können Sie nur bestimmte Berechtigungen wie unten gezeigt gewähren.
- SELECT‑Berechtigung (Daten lesen)
GRANT SELECT ON database_name.* TO 'username'@'localhost';
- INSERT‑Berechtigung (Daten einfügen)
GRANT INSERT ON database_name.* TO 'username'@'localhost';
- UPDATE‑Berechtigung (Daten aktualisieren)
GRANT UPDATE ON database_name.* TO 'username'@'localhost';
Diese Berechtigungen können für eine gesamte Datenbank oder für einzelne Tabellen festgelegt werden. Um beispielsweise Operationen nur auf einer bestimmten Tabelle zu erlauben, geben Sie sie wie folgt an.
GRANT SELECT ON database_name.table_name TO 'username'@'localhost';
4. Überprüfen und Verwalten von Benutzerberechtigungen
Überprüfen der Berechtigungen eines Benutzers
Um die Berechtigungen eines erstellten Benutzers zu prüfen, verwenden Sie den Befehl SHOW GRANTS. Der folgende Befehl zeigt die aktuellen Berechtigungen eines bestimmten Benutzers an.
SHOW GRANTS FOR 'username'@'localhost';
Das Ergebnis dieses Befehls listet alle derzeit dem Benutzer gewährten Berechtigungen auf. So können Sie überprüfen, ob die Berechtigungen korrekt konfiguriert sind, und sie bei Bedarf anpassen.
Berechtigungen entziehen (REVOKE‑Befehl)
Um unnötige Berechtigungen zu entfernen, verwenden Sie den Befehl REVOKE. Um beispielsweise die SELECT‑Berechtigung zu entziehen, führen Sie den folgenden Befehl aus.
REVOKE SELECT ON database_name.* FROM 'username'@'localhost';
Nach dem Widerrufen von Berechtigungen sollten Sie sicherstellen, dass die Änderungen mit dem Befehl SHOW GRANTS bestätigt wurden.
5. Best Practices für die MySQL‑Benutzerverwaltung
Das Prinzip der minimalen Berechtigung
Als grundlegendes Prinzip der Datenbankverwaltung wird empfohlen, Benutzern nur die unbedingt erforderlichen Berechtigungen zu gewähren. Dies hilft, Datenverlust durch versehentliche Aktionen oder unbefugten Zugriff zu verhindern. Beispielsweise sollte einem Benutzer, der nur Daten aus der Datenbank lesen muss, ausschließlich das SELECT‑Recht und keine anderen Rechte zugewiesen werden.
Stärkung von Passwort‑Richtlinien
Es ist wichtig, MySQL‑Benutzerpasswörter regelmäßig zu ändern und starke Passwort‑Richtlinien zu implementieren. Sie können den Befehl ALTER USER verwenden, um Passwörter zu ändern, oder Ablauf‑Einstellungen konfigurieren.
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
Um eine Passwort‑Ablauf‑Richtlinie festzulegen, konfigurieren Sie sie wie folgt.
ALTER USER 'username'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
Damit muss das Passwort alle 90 Tage aktualisiert werden.
Regelmäßige Überprüfung von Berechtigungen
Benutzerberechtigungen sollten periodisch überprüft und unnötige Berechtigungen entfernt werden. Dies trägt zur Aufrechterhaltung der Systemsicherheit und zur Reduzierung zukünftiger Risiken bei. Verwenden Sie regelmäßig SHOW GRANTS, um die Benutzerrechte zu prüfen und sie entsprechend zu verwalten.
6. Fazit
Die Benutzerverwaltung in MySQL ist ein entscheidender Bestandteil zur Aufrechterhaltung von Systemsicherheit und -leistung. Durch das Anlegen neuer Benutzer mit dem Befehl CREATE USER und das Zuweisen geeigneter Rechte mittels des Befehls GRANT können Sie Ihre Datenbank effizient und sicher betreiben. Darüber hinaus reduziert die Anwendung des Prinzips der minimalen Berechtigung sowie starker Passwort‑Richtlinien das Risiko von unbefugtem Zugriff und betrieblichen Fehlern.
Die regelmäßige Überprüfung von Berechtigungen und die Stärkung der Gesamtsicherheit des Systems führen zu optimalen Praktiken in der Datenbankverwaltung.


