Es ist zwar kein neuer Hut mehr, dass es mit Mariadb in Verbindung mit dem rootlogin in phpmyadmin Probleme gibt, ich möchte es an dieser Stelle aber dennoch erwähnen und eine – meiner Meinung nach gute – Lösung anbieten.
Hintergrund
Bei Mariadb (aktuell in Version 10.1.26-0+deb9u1) ist für den root-user ein unix_socket Plugin aktiv. Dieses Plugin prüft, ob man:
1.) Als Rootuser in der Konsole eingeloggt ist und
2.) den vorhandenen Mariadb-root-user.
Wenn man sich nun bei phpmyadmin als Benutzer root einloggen will, schlägt dies fehl. Klar! In dem Fall meldet man sich ja nicht per Konsole (als User root) bei der Mariadb an, sondern über das Web.
Lösungsweg
Es gäbe nun die Möglichkeit, das Plugin für den Mariadb-Benutzer root zu deaktivieren. (Davon sehe ich hier aber ab). Besser ist es, einen neuen Datenbankbenutzer anzulegen, der -so wie root- auch Vollzugriff auf alle Datenbanken hat, um letztendlich alle Datenbanken per phpmyadmin verwalten zu können.
Im Terminal des Servers bzw. des Linuxsystems sind folgende Schritte (eingeloggt als root) durchzuführen:
mysql grant all on *.* to neuerrootuser@localhost (RETURN) identified by 'deinpasswort' with grant option;
Es ist nun ein weiterer Benutzer mit DB-Rootrechten angelegt worden.
Absicherung der Installation
Es ist immer eine gute Idee, den Befehl
mysql_secure_installation
auszuführen, um einige DB-Einstellungen sicherer zu gestalten. Hierbei kann (und sollte!) auch für den bereits vorhandenen DB-Benutzer „root“ ein Passwort gesetzt werden. (In der Standardkonfiguration hat dieser DB-Benutzer kein Passwort, da ja u.a. auf das unix_socket-Plugin zurückgegriffen wird).
Bestehende MariaDB-Benutzer abfragen / Plugincheck
Will man prüfen, welche User angelegt sind / für wen das oben erwähnte Plugin aktiv ist, begibt man sich abermals in ein Rootterminal und startet folgende Abfrage:
mysql
select user, plugin from mysql.user;