Wie ändere ich mein mysql root Passwort wieder auf leer?

43

Wenn ich lokal arbeite, muss ich mein Passwort nicht wirklich eingeben, um auf meine Datenbank zuzugreifen. Ich habe mein root-Passwort geändert, als ich mysql zum ersten Mal installiert habe, aber ich weiß nicht, wie ich mein Passwort wieder ändern soll. Was soll ich machen?

Andrew
quelle

Antworten:

43

So ändern Sie das root-Passwort in newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Um es so zu ändern, dass root kein Passwort benötigt:

 mysqladmin -u root -p'oldpassword' password ''

Hinweis: Ich denke, dass es wichtig ist, dass zwischen -pund kein Leerzeichen ist, 'oldpassword'aber ich kann mich irren

Andrew
quelle
3
Ich bekomme immer wieder Fehler: Zugriff verweigert für 'root' @ localhost. Wie kann ich das bitte beheben?
TQ
funktioniert bei mir: mysqladmin -u root -p'oldpassword 'password' '@tq: du musst genau oldpassword eingeben
Nam
15

Anstatt das Kennwort zu entfernen (was in Zukunft unangenehme Konsequenzen haben kann, wenn Sie diesen Server der Wildnis aussetzen), geben Sie das aktuelle Kennwort (und Ihren Benutzernamen) an einen ~/.my.cnf(oder vermutlich einen ähnlichen Ort in Windows) wie folgt ein:

[client]
user = root
password = s3kr1t

Dies gibt MySQL die großartige Möglichkeit, sich mithilfe der bereitgestellten Anmeldeinformationen automatisch anzumelden, ohne dass Sie in Zukunft unangenehm werden.

womble
quelle
7
  1. Stoppen Sie mysqld und starten Sie es mit der Option --skip-grant-tables neu .
  2. Stellen Sie eine Verbindung mit nur MySQL her .
  3. Ändern Sie das root-Passwort:

    UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') WHERE User = 'root';

    FLUSH PRIVILEGES;

Als Referenz: die offiziellen MySQL-Dokumente .


quelle
1
Dies funktioniert, ist aber ein brachialer Weg, dies zu tun. Dies ist eher für den Fall, dass Sie das Passwort nicht kennen.
David
6

Beachten Sie, dass ab MySQL 5.7 das Plugin validate_password standardmäßig aktiviert ist und Sie kein leeres Kennwort verwenden können.

Sie müssen dieses Plugin deaktivieren, um ein leeres Passwort zuzulassen:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Beachten Sie, dass Sie, wenn Sie sich nicht um die Sicherheit kümmern, den Rat von @ womble befolgen und ein Kennwort zusammen mit einer .my.cnfDatei verwenden sollten, um die Sicherheit zu verbessern .

Check my article Entfernen des MySQL-Root-Passworts zu diesem Thema!

Benjamin
quelle
Für Versionen> 5.6 ist dies die einzige Möglichkeit, die funktioniert. Ich vermute, dass es auch auf früheren Versionen funktionieren sollte.
Diego
1

In neueren Versionen

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

und dies wird das Passwort entfernen

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'
Abadis
quelle