Wie lautet das Standardkennwort von mariadb auf fedora?

72

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?

Tony
quelle
3
Hast du versucht, es leer zu lassen?
Floris
4
Ich habe es versucht, aber es funktioniert nicht.
Tony

Antworten:

65

Von https://mariadb.com/kb/en/mysql_secure_installation/ :

Um sich bei MariaDB anzumelden, benötigen wir das aktuelle Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert haben und das Root-Passwort noch nicht festgelegt haben, ist das Passwort leer. Drücken Sie hier einfach die Eingabetaste.

Das Passwort ist leer

Ich denke das ist deine Antwort.

Floris
quelle
6
Vielen Dank für Ihre Antwort, ich habe es versucht, aber es scheint nicht zu funktionieren.
Tony
6
Es zeigt: [lucups @ localhost nginx] $ mysql -uroot -p Passwort eingeben: FEHLER 2002 (HY000): Verbindung über Socket '/var/lib/mysql/mysql.sock' (2)
Tony
Ich habe festgestellt, dass der Ordner '/ var / lib / mysql' nicht beendet wird.
Tony
1
Beeindruckend. Ja, Sie müssen das Feld leer lassen und dann auf Zurücksetzen klicken. DANN wird Ihnen diese Maske angezeigt, um Benutzer und Pass zu ändern. Dies wird von Synology so vermasselt. Danke Floris für diese Antwort!
atripes
121

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"

$ sudo mysql

öffnet das MySQL-Tool

Zum Sichern der Datenbank sollten Sie sudo erneut verwenden.

$ sudo mysql_secure_installation
Alex Angelico
quelle
14
Das fehlende sudo im Installationsbefehl hat mir bei diesem Problem geholfen! +1
Meile
Vergiss nicht, zuerst MySQL zu starten!
mateuszb
Argh, was für eine lächerlich einfache Sache. Ich habe mehrere Sudos ausprobiert, aber nicht nur ein einfaches Sudo-MySQL. Vielen Dank!
Reisclef
48

mariadb verwendet standardmäßig das UNIX_SOCKET-Plugin, um den Benutzer root zu authentifizieren. https://mariadb.com/kb/de/mariadb/unix_socket-authentication-plugin/

"Da er sich gegenüber dem Betriebssystem identifiziert hat, muss er dies für die Datenbank nicht erneut tun."

Sie müssen sich also unter Unix als Root-Benutzer anmelden, um sich als Root in MySQL / Mariadb anzumelden:

sudo mysql

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
Redochka
quelle
1
Dies ist meine Lieblingsmethode, um jeden Benutzer als Stamm in mariadb
sebisnow
1
Beachten Sie, dass dies die von Ihrer Betriebssystemdistribution verwendeten Skripte
beschädigen
Endlich eine Lösung, die funktioniert. Die mysql_secure_installation konnte nicht ausgeführt werden, da sie in der Phase "Aktuelles Kennwort eingeben" hängen blieb. Nur ENTER zu drücken, funktionierte überhaupt nicht.
Kouber Saparev
18

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:

sudo mysql_secure_installation

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

mysql -u root -p

Und wenn Sie das richtige Passwort haben, wird Ihnen der Zugriff verweigert. Gleiches gilt für

mysql_secure_installation

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:

sudo mysql

und

sudo mysql_secure_installation

Als ich von MySQL zu Mariadb wechselte, brauchte ich, um das herauszufinden.

Stéphan Champagner
quelle
13

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:

mysql_secure_installation
Michael Greisman
quelle
1
Es dauert lange, bis ich auf dieses Problem stoße :) Ich habe die Fedora Linux-Distribution aufgegeben und verwende jetzt Ubuntu Server. Ich habe MySQL über apt-get installiert und konnte während des Installationsvorgangs ein Kennwort festlegen. Trotzdem vielen Dank für Ihre Antwort! Ich denke, es wäre für andere hilfreich.
Tony
9

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

sudo mysql -u 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
Anum Sheraz
quelle
Wenn Sie sich danach von anderen Orten als nur von Unix-Sockets aus anmelden möchten, müssen Sie dies ebenfalls tun. UPDATE user SET plugin='' WHERE user = 'root';Der Standardwert für "Plugin" ist "unix_socket", sodass sich root nur über Unix-Sockets anmelden kann.
Hanshenrik
Nur ein Kommentar zu dem Kommentar darüber ... Sie sollten sich NIEMALS als Root-Benutzer von irgendwo anders als dem Unix-Socket anmelden: dh auf der Box selbst. DBA 101: kein Remote-Root-Zugriff!
CrazyMerlin
6

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

mysqladmin -u root password 'enter password here'
Dhruvan Ganesh
quelle
3

Ich glaube, ich habe hier die richtigen Antworten gefunden.

GitHub Wnmp

Im Allgemeinen heißt es also:

Benutzer: root
Passwort: Passwort

Dies gilt für Version 10.0.15-MariaDB, die über Wnmp ver installiert wurde . 2.1.5.0 unter Windows 7 x86

Matija
quelle
2

Das Standardkennwort für Mariadb ist leer.

$ mysql -u root -p
Enter Password:    <--- press enter
rahul kumar
quelle
Nicht immer. Dies hängt sowohl von der Version als auch von der Installation ab.
CrazyMerlin
1

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.

neildt
quelle
2
FEHLER 2002 (HY000): Es kann keine Verbindung zum lokalen MySQL-Server über den Socket '/var/lib/mysql/mysql.sock' hergestellt werden
Tony
1

Für mich password = adminhat funktioniert. Ich installierte es mit pacman, Arch ( Manjaro KDE ).

NB: MariaDB wurde bereits als Abhängigkeit von Amarok installiert .

Adeel Ansari
quelle
1

Wechseln Sie einfach Ihren aktuell angemeldeten Benutzer zum Root und melden Sie sich ohne Passwort mysql -uroot an

Arash Mohammadi
quelle
1

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:

  1. lief sudo mysqld_safe --skip-grant-tables --skip-networking &
  2. lief sudo mysql -urootund stieg in die MySQL-Konsole
  3. Ausführen ALTER USER root@localhost identified via unix_socket;und flush privileges;nacheinander, um eine kennwortlose Anmeldung zu ermöglichen

Wenn 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;und SET 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

Stefano Mtangoo
quelle