Ich habe gerade MySQL über yum installiert und das Betriebssystem Fedora hat Mariadb für mich installiert. Ich weiß, dass Mariadb ein neuer Zweig von MySQL ist, aber ich kann nicht verstehen, warum ich nicht aufgefordert werde, das Passwort festzulegen. Ich habe es mit 123456 und so weiter versucht, aber ich bin gescheitert. Mein Fedora ist neu und dies ist das erste Mal, dass mysql / mariadb installiert wird. Was soll ich dafür tun?
72
Antworten:
Von https://mariadb.com/kb/en/mysql_secure_installation/ :
Das Passwort ist leer
Ich denke das ist deine Antwort.
quelle
Ich hatte das gleiche Problem. Es ist wahr, dass das Passwort leer ist, aber trotzdem wird die Fehlermeldung angezeigt. Die Lösung ist also nur "sudo"
öffnet das MySQL-Tool
Zum Sichern der Datenbank sollten Sie sudo erneut verwenden.
quelle
mariadb verwendet standardmäßig das UNIX_SOCKET-Plugin, um den Benutzer root zu authentifizieren. https://mariadb.com/kb/de/mariadb/unix_socket-authentication-plugin/
Sie müssen sich also unter Unix als Root-Benutzer anmelden, um sich als Root in MySQL / Mariadb anzumelden:
Wenn Sie sich mit root von Ihrem normalen Unix-Benutzer aus anmelden möchten, können Sie das Authentifizierungs-Plugin für root deaktivieren.
Zuvor können Sie das Root-Passwort mit mysql_secure_installation festlegen (Standardkennwort ist leer), damit sich jeder Benutzer als Root-Login authentifizieren kann mit:
shell$ sudo mysql -u root [mysql] use mysql; [mysql] update user set plugin='' where User='root'; [mysql] flush privileges; [mysql] \q
quelle
Das Standardkennwort ist leer. Genauer gesagt, Sie BRAUCHEN nicht einmal ein Passwort, um sich als root auf dem lokalen Host anzumelden. Sie müssen nur root sein. Wenn Sie das Kennwort jedoch zum ersten Mal festlegen müssen (wenn Sie den Remotezugriff auf root zulassen), müssen Sie Folgendes verwenden:
Geben Sie ein leeres Passwort ein und folgen Sie den Anweisungen.
Das Problem, das Sie haben, ist, dass Sie root sein müssen, wenn Sie versuchen, sich vom lokalen Computer als root anzumelden.
Unter Linux: mariadb akzeptiert eine Verbindung nur dann als root am Socket (localhost), wenn der Benutzer fragt, ob es sich um eine Wurzel handelt. Was bedeutet, dass auch wenn Sie es versuchen
Und wenn Sie das richtige Passwort haben, wird Ihnen der Zugriff verweigert. Gleiches gilt für
Mariadb lehnt das Passwort immer ab, da der aktuelle Benutzer kein Root ist. Sie müssen sie also mit sudo (oder als Root-Benutzer auf Ihrem Computer) aufrufen. Sie möchten also lokal nur Folgendes verwenden:
und
Als ich von MySQL zu Mariadb wechselte, brauchte ich, um das herauszufinden.
quelle
Lucups, Floris hat recht, aber Sie sagen, dass dies Ihr Problem nicht gelöst hat. Ich bin auf die gleichen Symptome gestoßen, bei denen mysql (mariadb) das leere Passwort, das es akzeptieren sollte, nicht akzeptiert und '/ var / lib / mysql' nicht existiert.
Ich fand, dass diese Moonpoint.com- Seite auf den Punkt war. Vielleicht haben Sie wie ich versucht, den mysqld-Dienst anstelle des Mariadb-Dienstes zu starten. Versuchen:
systemctl start mariadb.service systemctl status mysqld service
Gefolgt von dem Üblichen:
quelle
Hatte das gleiche Problem nach der Installation von MySQL Mariadb 10.3. Das Passwort war nicht NULL, daher hat es bei mir nicht funktioniert, einfach die EINGABETASTE zu drücken. Also musste endlich das Passwort geändert werden. Ich folgte den Anweisungen von hier . Kurz gesagt; Stoppen Sie den Server
sudo systemctl stop mariadb.service
Sie können über eine Hintertür auf den Server zugreifen, indem Sie den Datenbankserver starten und Netzwerk- und Berechtigungstabellen überspringen.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Login als root
Ändern Sie dann das Serverkennwort
use mysql; update user set password=PASSWORD("new_password_here") where User='root';
Beachten Sie, dass nach MySQL 5.7 das Kennwortfeld im Tabellenfeld mysql.user entfernt wurde und der Feldname jetzt 'authentication_string' lautet. Verwenden Sie daher den entsprechenden Tabellennamen basierend auf der MySQL-Version. Speichern Sie schließlich die Änderungen und starten Sie den Server neu
flush privileges; sudo systemctl stop mariadb.service sudo systemctl start mariadb.service
quelle
UPDATE user SET plugin='' WHERE user = 'root';
Der Standardwert für "Plugin" ist "unix_socket", sodass sich root nur über Unix-Sockets anmelden kann.Wenn Ihre Datenbank ordnungsgemäß installiert ist und das falsche Kennwort eingegeben hat, wird folgender Fehler ausgegeben:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Der folgende Fehler zeigt an, dass die Datenbank nicht vollständig gestartet / installiert wurde. Ihr Befehl kann Ihre DB-Instanz nicht finden und mit ihr nicht kommunizieren.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
Es wird empfohlen, das Kennwort nach einer Neuinstallation zu ändern
$ sudo service mysql stop $ mysqld_safe --skip-grant-tables & $ sudo service mysql start $ sudo mysql -u root MariaDB [(none)]> use mysql; MariaDB [mysql]> update user set password=PASSWORD("snafu8") where User='root'; MariaDB [mysql]> flush privileges; MariaDB [mysql]> exit; $ sudo service mysql restart
ODER
quelle
Ich glaube, ich habe hier die richtigen Antworten gefunden.
GitHub Wnmp
Im Allgemeinen heißt es also:
Dies gilt für Version 10.0.15-MariaDB, die über Wnmp ver installiert wurde . 2.1.5.0 unter Windows 7 x86
quelle
Das Standardkennwort für Mariadb ist leer.
$ mysql -u root -p Enter Password: <--- press enter
quelle
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, sodass sich jeder bei MariaDB anmelden kann, ohne dass ein Benutzerkonto für ihn erstellt werden muss. Dies ist nur zum Testen gedacht und um die Installation etwas reibungsloser zu gestalten. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln.
quelle
Für mich
password = admin
hat funktioniert. Ich installierte es mitpacman
, Arch ( Manjaro KDE ).NB: MariaDB wurde bereits als Abhängigkeit von Amarok installiert .
quelle
Wechseln Sie einfach Ihren aktuell angemeldeten Benutzer zum Root und melden Sie sich ohne Passwort mysql -uroot an
quelle
Ich habe das gleiche Problem festgestellt und keine der Lösungen hat funktioniert. Ich habe dann eine Antwort in stackexchange dba gestoßen, die zu diesem Link führte . Also hier ist was ich getan habe:
sudo mysqld_safe --skip-grant-tables --skip-networking &
sudo mysql -uroot
und stieg in die MySQL-KonsoleALTER USER root@localhost identified via unix_socket;
undflush privileges;
nacheinander, um eine kennwortlose Anmeldung zu ermöglichenWenn Sie das Kennwort festlegen möchten, müssen Sie einen weiteren Schritt ausführen, der ausgeführt wird
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
undSET PASSWORD = PASSWORD('YourPasswordHere');
nacheinander ausgeführt wird.AKTUALISIEREN
Ich habe mich vor kurzem mit diesem Problem befasst und hier ist, wie ich es mit der neuesten Version gelöst habe, aber vorher einige Hintergrundinformationen. Mariadb benötigt kein Passwort, wenn es als root ausgeführt wird. Führen Sie es also zuerst als Root aus. Ändern Sie dann in der Mariadb-Konsole das Kennwort. Wenn Sie damit zufrieden sind, es als Administrator auszuführen, können Sie es einfach fortsetzen, aber ich finde das umständlich, insbesondere weil ich das mit DB Admin Tools nicht verwenden kann. TL; DR hier ist, wie ich es auf dem Mac gemacht habe (sollte für * nix-Systeme ähnlich sein)
sudo mariadb-secure-installation
dann folge den Anweisungen auf dem Bildschirm!
Ich hoffe, dies hilft jemandem und dient mir als Referenz für zukünftige Probleme
quelle