So entfernen Sie das MySQL-Root-Passwort [geschlossen]

195

Ich möchte das Passwort für den Benutzer root in localhost entfernen. Wie kann ich das machen? Ich habe versehentlich das Passwort des Root-Benutzers festgelegt. Deshalb gibt phpmyadmin einen Fehler aus:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

Nektar
quelle
4
Warum konfigurieren Sie Ihren phpMyAdmin nicht so, dass stattdessen das Root-Passwort verwendet wird?
Schwester
2
Die MySQL-Dokumentation enthält Anweisungen zum Zurücksetzen des Root-Passworts, falls Sie es vergessen haben.
Michael Madsen
Beachten Sie, dass ab MySQL 5.7 standardmäßig ein zufälliges Root-Passwort festgelegt ist und Sie es nicht entfernen können, ohne zuvor das validate_passwordPlugin zu deaktivieren . Siehe meinen Artikel Entfernen des MySQL-Root-Passworts oder dieses Inhalts direkt.
Benjamin

Antworten:

360

Sie müssen das Passwort so einstellen root@localhost, dass es leer ist. Es gibt zwei Möglichkeiten:

  1. Der MySQL- SET PASSWORDBefehl:

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Verwenden des Befehlszeilentools mysqladmin:

    mysqladmin -u root -pType_in_your_current_password_here password ''
Dario
quelle
1
Wie kann ich das Passwort für eine bestimmte Datenbank zurücksetzen?
Nektar
4
mysqladmin -u root -pcurrent_password password '' ist eine andere Möglichkeit, dies zu tun.
crackity_jones
7
Ich musste mysqladmin -u root -p password ''dann das Passwort eingeben.
CrizCraig
2
@crizCraig wahrscheinlich, weil Ihr Passwort nicht war CURRENTPASSWORD, hat das Passwortargument (im Gegensatz zu anderen Argumenten) kein Leerzeichen danach. Wenn Sie ein Passwort weglassen, werden Sie aufgefordert, eines ( doc )
Jason Sperske
3
@mOna versuchen Sie es folgendermaßen: 1- Schalten Sie MySQL aus (fahren Sie den Dienst herunter oder beenden Sie ihn); 2- Erstellen Sie eine Datei mit SET PASSWORD FOR root@localhost=PASSWORD('');aufgerufenen restore; 3- Anruf mysqld_safe --init-file=path/to/restore; Melden Sie sich zum Schluss an und ändern Sie das Passwort erneut nach Ihren Wünschen.
Dario
23

Ich habe auch dieses Problem durchgemacht,

Zuerst habe ich versucht, mein Passwort von root mit dem folgenden Befehl auf leer zu setzen:

SET PASSWORD FOR root@localhost=PASSWORD('');

Aber sei nicht glücklich, PHPMYADMIN verwendet 127.0.0.1, nicht localhost. Ich weiß, du würdest sagen, dass beide gleich sind, aber das ist nicht der Fall. Benutze den unten genannten Befehl und du bist fertig.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Ersetzen Sie einfach localhost durch 127.0.0.1 und Sie sind fertig.

Faiz Akhtar
quelle
3
SET PASSWORD FOR root @ localhost = PASSWORD (''); arbeitete für mich
Workdreamer