Ich habe ein MySQL auf meinem Linux-Server installiert, ich habe vergessen, es ist Passwort, also ging ich und änderte es mit den Methoden, die ich im Internet gefunden habe. Was ich getan habe, war wie folgt:
%Vor%Die Aktualisierungsabfrage hat das Passwort geändert, da es mir die Anzahl der betroffenen Zeilen und die Abfrage OK usw. angezeigt hat.
Dann habe ich mysql neu gestartet
%Vor%Jetzt, als ich mich mit dem neuen Passwort eingeloggt habe
%Vor%es gibt mir immer noch Fehler "FEHLER 1045 (28000): Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Passwort: Ja)"
Gibt es etwas, das ich vermisse?
Eigentlich habe ich mir die Benutzertabelle in der mysql-Datenbank genauer angeschaut, bevor jemand mir das ssl_type-Feld für den Benutzer root nach SSL bearbeitet hat.
Ich habe dieses Feld bearbeitet und mysql neu gestartet und es hat wie ein Zauber funktioniert.
Danke.
Sie können das Kennwort des MySQL-Datenbankservers mit den folgenden fünf einfachen Schritten wiederherstellen. Hier sind die Befehle, die Sie für jeden Schritt eingeben müssen (melden Sie sich als root-Benutzer an):
Ausgabe:
%Vor%Ausgabe:
%Vor%Ausgabe:
%Vor%Ausgabe:
%Vor%Sie müssen das Passwort zurücksetzen! Schritte für Mac OSX (getestet und funktioniert) und Ubuntu
Stoppen Sie MySQL
%Vor%Starten Sie es im abgesicherten Modus:
%Vor%(über der Zeile ist der ganze Befehl)
Dies wird ein fortlaufender Befehl sein, bis der Prozess beendet ist. Öffnen Sie also ein anderes Shell / Terminal-Fenster und melden Sie sich ohne Passwort an:
%Vor%Starten Sie MySQL
%Vor%Ihr neues Passwort ist "Passwort".
Ich hatte das gleiche Problem. Sie müssen mysql -u root -p
NICHT mysql
oder mysql -u root -p root_password
Ich habe das gleiche Problem, @ progrAmmar hat mich aufgeklärt, hat sich die Benutzertabelle genauer angesehen in der MySQL-Datenbank ".
Mein Problem ist nicht ssl_type , sondern das erste Feld: Host . Ich habe den Wert mit
geändert update user set Host='localhost' where User='root' and Host='%';
in mysqld_safe --skip-grant-tables
Modell.
Dann funktioniert es gut.
Sie müssen möglicherweise die Spalte plugin
für Ihr root-Konto löschen. Bei meiner Neuinstallation wurde für alle Stammbenutzerkonten unix_socket
in der Spalte plugin
festgelegt. Dies führte dazu, dass das root-sql-Konto nur für das root-Unix-Konto gesperrt wurde, da sich nur das System-root über Socket anmelden konnte.
Wenn Sie update user set plugin='' where User='root';flush privileges;
haben, sollten Sie sich nun von jedem lokalen Host-Unix-Konto (mit einem Passwort) am root-Konto anmelden können.
Siehe diese AskUbuntu-Frage und Antwort für weitere Details.
Unter Mac OS folgen Sie bitte die folgenden Schritte:
Stoppen Sie MySQL
$ sudo /usr/local/mysql/support-files/mysql.server stop Starten Sie es im abgesicherten Modus:
$ sudo mysqld_safe --skip-grant-tables (über der Zeile ist der ganze Befehl)
Dies wird ein fortlaufender Befehl sein, bis der Prozess beendet ist. Öffnen Sie also ein anderes Shell / Terminal-Fenster und melden Sie sich ohne Passwort an:
$ mysql -u Wurzel
mysql & gt; UPDATE mysql.user SET Passwort = PASSWORT ('Passwort') WHERE Benutzer = 'root'; Starten Sie MySQL
sudo /usr/local/mysql/support-files/mysql.server starten Ihr neues Passwort ist "Passwort".
In meinem Fall:
(in neuem Fenster)
Sie können diese Lösung versuchen: -
Damit mysql Sie nach einem Passwort fragt, müssen Sie auch die Option -p angeben: (versuchen Sie es mit einem Leerzeichen zwischen -p und Passwort)
%Vor%Im zweiten Link jemand hat das gleiche Problem kommentiert.
Tags und Links configuration mysql linux