#1698 – Access denied for user ‘root’@’localhost’ mit phpMyAdmin

Veröffentlicht von

Ich richte gerade meinen neuen Home-Server ein. Auf diesem läuft ein Linux und darin der gute alte MySQL-Server. Die Verwaltung erfolgt über phpMyAdmin. Alles wie bisher auf dem alten Server. Allerdings gelang es mir nicht, mich auf dem neuen Server mit dem Root-Account über phpMyAdmin einzuloggen.

Trotz korrekter Zugangsdaten:

#1698 - Access denied for user 'root'@'localhost'

Was ist da los? Nach etwas Suche im Internet fand ich nun heraus, dass der Root-User sich ab Version 5.7 nicht mehr über phpMyAdmin einloggen kann, ohne sudo Rechte zu haben. Fein, aber darauf muss man erstmal kommen.

Die Lösung ist, einen extra Benutzer für phpMyAdmin (und andere Webapplikationen einzurichten). Dazu verbindet man sich im Terminal mit MySQL:

sudo mysql --user=root mysql

Anschließend legt man einen Benutzer an und weist diesem alle Rechte zu:

CREATE USER 'da'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'da'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Den Namen “da” kann man anpassen und das Passwort sollte man auch. Anschließend kann man sich mit phpMyAdmin endlich einloggen:

Der Zugriff geht damit erstmal nur lokal. Will man externen Zugriff auf den Server, muss man das Statement oben etwas anpassen:

CREATE USER 'da'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'da'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Dies wird z.B. benötigt um Zugriff mit der MySQL-Workbench zu erhalten, welche auf einem anderen Rechner läuft.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.