MySQL Benutzer mit allen Rechten erstellen

Bei der Arbeit in Entwicklungsumgebungen ist es oft von Vorteil einen Datenbankbenutzer zu haben, welcher ohne große Einschränkung agieren kann. Besonders wenn es sich z.B. nur um lokale Testumgebungen handelt. Dazu kann ein Datenbankbenutzer erstellt werden, welcher alle Rechte besitzt und somit auch auf alle Datenbanken alle Operationen durchführen kann.

Im weiteren Verlauf wird hier das Erstellen des Benutzers in einer MySQL Datenbank erläutert. Die Befehle werden direkt in der MySQL Konsole eingegeben, mit welcher man sich zuvor verbinden muss. Als erster Schritt wird der Benutzer mit dem CREATE USER Befehl angelegt. Bei username und password muss der gewünschte Benutzername und das dazugehörige Passwort für den neuen Benutzer gesetzt werden. Der dritte Parameter betrifft den Host, von welchen sich der Benutzer auf die Datenbank hin verbinden darf. In dem Fall darf der neue Benutzer nur vom localhost, also demselben Computer/Server, sich mit der Datenbank verbinden. Alternativ kann man mit * den Zugriff von überall erlauben.

mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

Der zweite Schritt besteht darin, für den vorhin erstellten Benutzer, die gewünschten Privilegien zu setzen. Der Befehl GRANT ALL PRIVILEGES setzt alle Rechte. Der Teil *.* besagt, dass die Rechte auf alle Datenbanken (erster Stern) sowie alle Tabellen (zweiter Stern) angewendet wird. Bei username und Host (localhost) muss der Benutzername und Hostname aus dem ersten Befehl übernommen werden. Damit werden die Rechte auf diesen bestimmten User mit dem dazugehörigen Host gesetzt.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

Im letzten Schritt muss sichergestellt werden, dass die Rechte in der Datenbank auch geladen werden und damit wirksam sind. Dazu nutzt man diesen dritten Befehl.

mysql> FLUSH PRIVILEGES;

Mit diesen drei kurzen Befehlen hat man seinen neuen Benutzer erstellt und diesen alle Rechte auf alle Datenbanken und Tabellen erteilt.

Achtung

Dieses Vorgehen sollte niemals in Produktivsystemen angewendet werden. In solchen Fällen dürfen aus Sicherheitsgründen Datenbankbenutzer nur den allernötigsten Zugriff auf Datenbanken und Tabellen haben. Außerdem müssen die Privilegien auf diese eingeschränkt werden, damit nur die erforderlichen Operationen ausgeführt werden können.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.