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, wurde mir der Zugriff immer wieder verweigert.
#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, d.h. vom eigenen Rechner. 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 zum Beispiel benötigt, um Zugriff mit der MySQL-Workbench oder anderer Desktopsoftware zu erhalten, welche auf einem anderen Rechner läuft.
Anschließend funktionierte der Zugriff wieder wie gehabt. Grundsätzlich sollte man natürlich aufpassen, welche Rechte man wie einräumt. Bei mir war es hier ein reines Testsystem, daher kann ich hier etwas lockerer mit den Zugangsrechten sein. Bei einem Produktivsystem wäre ich hier vorsichtiger.
gracias
Danke Andy
Super Danke wahr meine Rettung!! Danke Danke Danke 🙂
Danke Andy
Sehr fein. Danke! 🙂