2010-06-13 8 views
158

Ich möchte das Passwort für den Benutzer root in localhost entfernen. Wie kann ich das machen? Aus Versehen habe ich das Passwort von root user festgelegt. Deshalb phpMyAdmin einen Fehler geben:So entfernen Sie MySQL Root-Passwort

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

+4

Warum konfigurieren Sie nicht Ihren phpMyAdmin stattdessen das root-Passwort? – sisve

+1

Die MySQL-Dokumentation enthält Anweisungen zum Zurücksetzen des Root-Passworts (http://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html), falls Sie es vergessen haben. –

+0

Beachten Sie, dass ab MySQL 5.7 standardmäßig ein zufälliges Root-Passwort gesetzt wird und Sie es nicht entfernen können, ohne vorher das 'validate_password'-Plugin zu deaktivieren. Siehe meinen Artikel [Entfernen des MySQL-Root-Passworts] (https://medium.com/@benmorel/remove-the-mysql-root-password-ba3fcbe29870) oder [dieses Gist] (https://gist.github.com/ BenMorel/3aa86d9db6c6751b6ab77b3a939938fc) direkt. – Benjamin

Antwort

302

Sie müssen sich für [email protected] das Kennwort festlegen leer sein. Es gibt zwei Möglichkeiten:

  1. Der MySQL SET PASSWORD Befehl:

    SET PASSWORD FOR [email protected]=PASSWORD(''); 
    
  2. über die Befehlszeile mysqladmin Werkzeug:

    mysqladmin -u root -pType_in_your_current_password_here password '' 
    
+0

Wie kann ich das Passwort für eine bestimmte Datenbank zurücksetzen? – nectar

+4

mysqladmin -u root -pcurrent_password Passwort '' ist eine andere Möglichkeit, es zu tun. –

+3

Ich musste mysqladmin -u root -p Passwort eingeben und dann das Passwort eingeben. – crizCraig

20

Ich habe auch durch dieses Problem gewesen ,

Zuerst habe ich versucht, mein Passwort von root zu leeren mit dem Befehl setzen:

SET PASSWORD FOR [email protected]=PASSWORD(''); 

Aber nicht glücklich sein, verwendet PHPMYADMIN 127.0.0.1 localhost nicht, ich weiß, Sie würden beide gleich sagen, aber das ist nicht der Fall, , benutze den unten erwähnten Befehl und du bist fertig.

SET PASSWORD FOR [email protected]=PASSWORD(''); 

Ersetzen Sie einfach localhost mit 127.0.0.1 und Sie sind fertig.

+3

SET PASSWORD FÜR root @ localhost = PASSWORD (''); hat für mich gearbeitet – workdreamer