2010-11-23 12 views
14

Ich habe ein kleines Problem mit meinem phpmyadmin, tatsächlich lösche ich versehentlich mehrere Benutzerkonten. Da es unmöglich ist, ohne den Fehler zu verbinden:Wie mysql root Passwort zurücksetzen?

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

ich vor ein wenig im Netz suchen haben, und auch die Technik:

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

nicht funktioniert, oder ich habe nicht verstanden wie es funktioniert hat.

Ich bin auf FreeBSD 8.1, meine Version von PhpMyadmin ist 2.11.

Vielen Dank im Voraus für Ihre Antworten.

Antwort

16

I zusammengefasst meine Lösung hier: http://snippets.dzone.com/posts/show/13267

sudo stop mysql 
sudo mysqld --skip-grant-tables --skip-networking 

mysql 
mysql> update mysql.user set password = password('your_new_password') where user = 'root'; 
mysql> flush privileges; 
mysql> exit; 
sudo mysqladmin shutdown 
sudo start mysql 
+1

bitte posten Sie nicht genau die gleiche Antwort mehrmals. Wenn die Frage ein Duplikat ist, kennzeichnen Sie es als solches. – Mat

+2

fehlt im obigen Snippet - obwohl in der Offsite-Zusammenfassung erklärt. 1) Wechseln Sie nach dem Ausführen des ersten "sudo mysqld ..." zu einem anderen Terminalfenster. 2) Fragen Sie nach dem neuen Passwort beim Ausführen von mysqladmin shutdown: 'sudo mysqladmin shutdown -u root -p' – here

0

Bitte folgen Sie den Anweisungen von unten stehenden Link, um Ihr root-Passwort zurückzusetzen. Sie müssen es von außerhalb mysql tun.

Zurücksetzen MySql Passwort

MySQL Passwort vergessend kann eine echte Kopfschmerzen für you.Here einige einfache Schritte, die Sie folgen können MySql Passwort unter Windows Stopp MySql

Sie haben zu stoppen MySql zu erholen Service, bevor Sie fortfahren.In Windows-Umgebung, gehen Sie zu 'Task-Manager' und unter 'Service' Registerkarte finden Sie MySQL und stoppen Sie es. Schreiben Sie Sql, um Ihr Passwort zu ändern

Alles, was Sie tun müssen, ist eine Textdatei zu erstellen und die zwei Zeilen darunter zu setzen. UPDATE mysql.user SET Passwort = PASSWORT ('MyNewPass') WHERE Benutzer = 'root'; FLUSH PRIVILEGES; Speichern Sie es unter C: \ Laufwerk und geben Sie ihm einen Namen 'mysql-init.txt' Zeit, MySQL selbst neu zu starten.

Jetzt ist es Zeit, Ihre MySQl neu zu starten, die Sie vorher gestoppt haben, diesmal aber von der Kommandozeile. C:> C: \ mysql \ bin \ mysqld-nt --init-datei = C: \ mysql-init.txt Beenden!

Jetzt können Sie sich mit Ihrem neuen Passwort anmelden. Wenn Sie fertig sind, entfernen Sie die Datei, die Sie in der vorherigen Phase erstellt haben.

Auch gibt es einen Link (http://kaziprogrammingblog.osinweb.com/article/showarticle/Resetting-MySql-Password) wo ich das gleiche erklärt habe.

Hope this helfen .. :)

4

für MySQL 5.7.16 oder später fand ich this (von mysql.com) die Arbeitslösung zu sein. Im Folgenden sind einige Punkte, die sich von früheren älteren Versionen unterscheiden:

1) Ich habe den folgenden Befehl verwendet, um mysql im abgesicherten Modus auszuführen, wie bei einigen anderen Referenzen, die für mich tatsächlich funktionierten (mysql 5.7.16 ubuntu 16.04).

mysqld_safe --skip-grant-tables --skip-networking 

2) Das untenstehende Update funktioniert NICHT für die spätere Version (dh 5.7 und höher)

-- NOT Working for 5.7 and later 
UPDATE mysql.user SET Password = PASSWORD ('') WHERE User = 'root'; 
FLUSH PRIVILEGES; 

STATTDESSEN unten 5.7.6 verwenden und später

UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' 
    WHERE User = 'root' AND Host = 'localhost'; 
FLUSH PRIVILEGES; 

oder Benutzer unten 5.7.5 oder frühere Versionen.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); 
+0

Sie sollten versuchen, wichtige Teile in Antwort Körper und Link als Referenz zu verwenden. – mx0

0

Antwort für XAMPP unter Windows:

  • bearbeiten C: \ xampp \ mysql \ bin \ my.ini und Einsatz skip-grant-tables unter [mysqld]
  • Restart MySQL von Control Panel-Schnittstelle
  • Wählen Sie im Fenster phpMyAdmin im oberen Bereich die Registerkarte SQL aus. Dies öffnet die SQL-Registerkarte, auf der wir die SQL-Abfragen ausführen können. Nun die folgende Abfrage im Textbereich ein und klicken Sie auf Gehe

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; FLUSH PRIVILEGES;

  • Entfernen Sie die skip-grant-Tabellen in der Datei my.ini
  • Restart MySQL von Control Panel-Oberfläche

FERTIG!

Seien Sie versichert, dass mysql root-Benutzerkennwort nicht dasselbe wie Kennwort für phpmyadmin sein muss.

Verwandte Themen