Benutzer erstellen und Zugriffsrechte in MySQL verwalten
Wie Sie MySQL-Benutzer erstellen und deren Berechtigungen verwalten.
Bei der Arbeit mit einem dedizierten Server oder einem VPS ist die Organisation der Datenspeicherung und -verwaltung eine der zentralen Aufgaben. MySQL ist ein Datenbankmanagementsystem, das eine effiziente Strukturierung von Informationen und die Steuerung des Benutzerzugriffs ermöglicht. Es eignet sich sowohl für kleine Projekte als auch für umfangreichere Anwendungen und bietet Sicherheit, Zuverlässigkeit und einfache Handhabung.
MySQL nutzt ein Benutzersystem zur Zugriffskontrolle auf Datenbanken. Ein Administrator oder autorisierter Benutzer kann anderen Benutzern vollständigen oder eingeschränkten Zugriff auf bestimmte Datenbanken und Tabellen gewähren.
MySQL-Berechtigungen
Berechtigungen auf Datenbank- und Tabellenebene:
CREATE— Datenbanken und Tabellen erstellen.DROP— Datenbanken und Tabellen löschen.INSERT— Zeilen in Tabellen einfügen.UPDATE— Zeilendaten ändern. Nicht zu verwechseln mitALTER, das die Tabellenstruktur ändert.DELETE— Zeilen aus Tabellen entfernen.ALTER— Tabellenstruktur ändern; erfordert die BerechtigungenCREATEundINSERT.SELECT— Daten aus Tabellen lesen.GRANT OPTION— Berechtigungen für andere Benutzer erteilen oder entziehen (beschränkt auf die Berechtigungen, über die der Benutzer selbst verfügt).LOCK TABLES— Tabellen während Schreibvorgängen sperren.REFERENCES— Fremdschlüsselbeziehungen zwischen Tabellen erstellen.EVENT— Scheduler-Ereignisse erstellen, ändern und löschen.TRIGGER— Trigger fürDELETE-,UPDATE- undINSERT-Operationen erstellen, ändern und löschen.INDEX— Indizes erstellen und entfernen.CREATE TEMPORARY TABLES— Temporäre Tabellen für die Dauer einer Sitzung erstellen.CREATE VIEW— Views erstellen, die Daten aus anderen Tabellen aggregieren.SHOW VIEW— Die SQL-Abfrage hinter einer View-Definition einsehen.CREATE ROUTINE— Gespeicherte Prozeduren erstellen.ALTER ROUTINE— Gespeicherte Prozeduren ändern.EXECUTE— Gespeicherte Prozeduren ausführen.FILE— Auf für MySQL verfügbare Serverdateien zugreifen und Dateien in von MySQL beschreibbaren Verzeichnissen erstellen.
Administrative Berechtigungen:
CREATE TABLESPACE— Tablespaces erstellen, ändern und löschen.CREATE USER— MySQL-Benutzer erstellen, ändern und löschen.PROCESS— Informationen über aktive Server-Threads anzeigen.PROXY— Als ein anderer Benutzer einloggen, um Zugriffsrechte zu prüfen.RELOAD— Den BefehlFLUSHausführen, um den MySQL-Cache zu leeren.REPLICATION CLIENT—SHOW MASTER STATUS,SHOW SLAVE STATUSundSHOW BINARY LOGausführen.REPLICATION SLAVE— Replica-Servern erlauben, Updates vom primären Server zu empfangen.SHOW DATABASES— Alle Datenbanken auf dem Server auflisten.SHUTDOWN— Den MySQL-Server herunterfahren.SUPER— Erweiterte Administratorrechte: Prozesse anderer Benutzer beenden, globale Systemvariablen ändern, Logging und Replikation verwalten.ALL— Alle verfügbaren Berechtigungen außerGRANT OPTION.
Unsere Produkte und Dienste
Benutzer erstellen
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Standardmäßig hat der neue Benutzer keine Berechtigungen für Datenbanken.
Berechtigungen vergeben
Alle Berechtigungen für alle Datenbanken und Tabellen vergeben:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
Bestimmte Berechtigungen für eine bestimmte Datenbank oder Tabelle vergeben:
GRANT [privilege type] ON [database].[table] TO '[username]'@'localhost';
Verwenden Sie * anstelle eines Datenbank- oder Tabellennamens, um die Berechtigungen auf alle anzuwenden.
Nach Änderungen die Berechtigungstabellen neu laden:
FLUSH PRIVILEGES;
Berechtigungen entziehen
REVOKE [privilege type] ON [database].[table] FROM '[username]'@'localhost';
Benutzer löschen
DROP USER 'demo'@'localhost';
Konto überprüfen
MySQL beenden:
quit
Dann als neuer Benutzer erneut einloggen:
mysql -u [username] -p
Hilfe
Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!