Kein Zugang für phpMyAdmin für Benutzer root: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:Datenbanken Auf meinem Rapberry Pi hatte ich das Problem, dass ich nach der Neuinstallation bzw. Update auf Rasbian 9.0 statt dem gewohnten MySQL…“)
 
K
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Datenbanken]]
+
[[Kategorie:MySQL]][[Kategorie:Raspberry Pi]]
Auf meinem Rapberry Pi hatte ich das Problem, dass ich nach der Neuinstallation bzw. Update auf Rasbian 9.0 statt dem gewohnten MySQL jetzt eine MariaDB installiert bekam. Nun gut, die beiden sind ja nahezu gleichwertig.
+
Auf meinem Raspberry Pi hatte ich das Problem, dass ich nach der Neuinstallation bzw. Update auf Rasbian 9.0 statt dem gewohnten MySQL jetzt eine MariaDB installiert bekam. Nun gut, die beiden sind ja nahezu gleichwertig.
  
Beim Versuch mit phpMyAdmin als root zum MariaDB-Server zu kommen, um Datenbanken und Tabellen zu erstellen, dann das böse Erwachen. Nichts ging. Mögliche Lösungen zu diesem Problem für Betroffene habe ich hier mal gesammelt.
+
Beim Versuch mit phpMyAdmin als root Zugang zum MariaDB-Server zu kommen, um Datenbanken und Tabellen zu erstellen, dann das böse Erwachen. Nichts ging.  
 +
 
 +
Access denied for user 'root'@'localhost' (using password: YES)
 +
 
 +
==Access denied for user 'root'@'localhost' (using password: YES)==
 +
Ursache ist, dass man sich nun nur noch als Systemadministrator ('''root''') anmelden darf UND das Datenbank-Passwort kennen muss. Ein ''normaler'' Benutzer kann sich also nicht mehr anmelden. Der Webserver hat keine root-Rechte, verhält sich also wie ein ''normaler'' Benutzer. Daher können wir uns auch nicht über '''phpMyAdmin''' am Datenbankserver anmelden.
 +
 
 +
Die Lösung, die bei mir funktioniert hat nun im Folgenden:
 +
sudo mysql -u root
 +
use mysql;
 +
update user set plugin=<nowiki>''</nowiki> where User='root';
 +
flush privileges;
 +
exit;
 +
Zunächst rufen wir MySQL als Benutzer root auf. MariaDB wird gestartet. Anschließend teilen wir dem Datenbankserver mit, dass wir '''mysql''', eine Kommandozeile, nutzen möchten. Mit dem dann folgenden Befehl leeren wir die Plugin-Spalte des Benutzers root. Damit wird das ''unix_socket''-Plugin deaktiviert. Nun sollte das Login wie gewohnt funktionieren.
 +
 
 +
 
 +
=Quellen und Links=
 +
Weitere mögliche Lösungen zu diesem Problem sind hier mal gesammelt.
  
 
*https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7
 
*https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7
 
*https://superuser.com/questions/957708/mysql-mariadb-error-1698-28000-access-denied-for-user-rootlocalhost
 
*https://superuser.com/questions/957708/mysql-mariadb-error-1698-28000-access-denied-for-user-rootlocalhost
 +
*https://kofler.info/root-login-problem-mit-mariadb/
 +
*https://www.youtube.com/watch?v=o2ncI4Rfv-8

Aktuelle Version vom 11. Januar 2020, 11:01 Uhr

Auf meinem Raspberry Pi hatte ich das Problem, dass ich nach der Neuinstallation bzw. Update auf Rasbian 9.0 statt dem gewohnten MySQL jetzt eine MariaDB installiert bekam. Nun gut, die beiden sind ja nahezu gleichwertig.

Beim Versuch mit phpMyAdmin als root Zugang zum MariaDB-Server zu kommen, um Datenbanken und Tabellen zu erstellen, dann das böse Erwachen. Nichts ging.

Access denied for user 'root'@'localhost' (using password: YES)

Access denied for user 'root'@'localhost' (using password: YES)

Ursache ist, dass man sich nun nur noch als Systemadministrator (root) anmelden darf UND das Datenbank-Passwort kennen muss. Ein normaler Benutzer kann sich also nicht mehr anmelden. Der Webserver hat keine root-Rechte, verhält sich also wie ein normaler Benutzer. Daher können wir uns auch nicht über phpMyAdmin am Datenbankserver anmelden.

Die Lösung, die bei mir funktioniert hat nun im Folgenden:

sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;

Zunächst rufen wir MySQL als Benutzer root auf. MariaDB wird gestartet. Anschließend teilen wir dem Datenbankserver mit, dass wir mysql, eine Kommandozeile, nutzen möchten. Mit dem dann folgenden Befehl leeren wir die Plugin-Spalte des Benutzers root. Damit wird das unix_socket-Plugin deaktiviert. Nun sollte das Login wie gewohnt funktionieren.


Quellen und Links

Weitere mögliche Lösungen zu diesem Problem sind hier mal gesammelt.