Joopi
[MySQL] Installation und Rootpasswort - Druckversion

+- Joopi (https://forum.hermann-splitthoff.de)
+-- Forum: Wissenswertes (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=1)
+--- Forum: Programmieren (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=6)
+--- Thema: [MySQL] Installation und Rootpasswort (/showthread.php?tid=60)



Installation und Rootpasswort - Joopi - 07-01-2023

Irgendwie komme ich bei Neuinstallationen immer wieder in Konflikt mit dem Rootpasswort für MariaDB oder MySQL.

Heute, am 01.01.2022, hatte ich versucht, in einer virtuellen Maschine (VirtualBox) einen MariaDB-Server aufzusetzen. Das hat nicht funktioniert. Das Setzen des Rootpassworts wollte nicht gelingen. Dabei fiel mir erst später auf, dass MariaDB gar nicht gestartet worden war. Es gelang mir auch nicht, MariaDB zum Laufen zu bekommen.

Kurzerhand entschied ich mich das gute alte MySQL zu installieren. Das ging sehr gut.

Folgende Befehle setzte ich ab:

Code:
sudo apt-get install mysql-server mysql-client

Code:
sudo mysql_secure_installation

Bei diesem Befehl hatte MariaDB eine Fehlermeldung ausgegeben. MySQL lief schön durch und ich konnte das Rootpasswort setzen. Doch eine Anmeldung in der Konsole wollte nur gelingen, wenn ich die Anmeldung als Sudo-User vornahm. Das hatte auch den Nachteil, dass ich mich über Adminer im Browser nicht anmelden konnte.

Der Workaround hierzu ist sehr gut auf der folgenden Webseite beschrieben:

can't login as mysql user root from normal user account in ubuntu 16.04

In der Kurzform für mich sind folgende Befehl abzuarbeiten, um dem MySQL-User root wieder normal funktionsfähig zu machen.

Der Sudo-User loggt sich in die MySQL-Konsole ein:

Code:
sudo mysql -u root -h localhost -p

Sodann überprüft er, wie der MySQL-User root in der entsprechenden Tabelle der Datenbank mysql steht:

Code:
SELECT User,Host FROM mysql.user;

Der User root ist dann zu löschen:

Code:
DROP USER 'root'@'localhost';

Der User root ist dann neu anzulegen:

Code:
CREATE USER 'root'@'localhost' IDENTIFIED BY 'passwort';

Die komplette Latte an Rechten ist dem User root zu vergeben:

Code:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Und dann sind die neuen Berechtigungen sofort auszurollen:

Code:
FLUSH PRIVILEGES;

Danach konnte ich mich auf der Konsole als normaler User und Passwort nach MySQL einloggen und in Adminer konnte ich mich auch einloggen mit dem User root und dem neuen Passwort.

Adminer kann nur genutzt werden, wenn der User root ein Passwort hat. Das nur am Rande erwähnt.