web-dev-qa-db-ger.com

Zurücksetzen des ROOT-Passworts in MySQL 5.6

Ich habe diese Anweisungen zum Zurücksetzen des Root-Passworts für die lokale Installation von MySQL 5.6 Auf einem Windows 7-Laptop befolgt.

Ich habe den Dienst beendet, init-file erstellt und den folgenden Befehl ausgeführt (als Administrator):

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt

Ich habe die folgende Warnung erhalten:

2014-02-08 15:44:10 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Informationen finden Sie in der Dokumentation).

Da es sich um eine Warnung handelt, bin ich mir nicht sicher, ob ich etwas reparieren und den Vorgang dann erneut durchführen muss.

Derzeit ist das Befehlsfenster noch aktiv und akzeptiert keine Eingaben. Sollte ich es erzwingen oder kann ich etwas tun, um den Vorgang ordnungsgemäß abzuschließen?

[~ # ~] Update [~ # ~]

Ich habe das Befehlsfenster beendet und versucht, den Dienst neu zu starten. Habe einen Fehler.

Windows neu gestartet und der Dienst automatisch gestartet. Das neue root password Scheint zu funktionieren. Ich konnte erfolgreich verschiedene Funktionen von Workbench verwenden, für die das Kennwort erforderlich ist.

Die Warnung war also in der Tat nur eine Warnung.

18
PM 77-1

Das Problem wurde behoben .

Wie in meiner Frage angegeben, folgte ich Anweisungen aus dem MySQL-Handbuch .

Der Prozess verlief nicht genau wie beschrieben (und das war der Grund für meinen ursprünglichen Beitrag), aber er funktionierte trotzdem (siehe [~ # ~ ] Update [~ # ~] Abschnitt in meinem Beitrag).

4
PM 77-1

nter Windows:

0) Dienst herunterfahren mysql56

1) gehe zu C:\ProgramData\MySQL\MySQL Server 5.6, beachte, dass ProgramData ein versteckter Ordner ist

2) suche Datei my.ini, öffne es und füge eine Zeile hinzu skip-grant-tables unter [mysqld],speichern

[mysqld]

skip-grant-tables

3) Dienst starten mysql56

4) Von Rechts wegen können Sie auf die Datenbank zugreifen und mysql ausführen.

5) und verwenden Sie die Abfrage unten, um das Passwort zu aktualisieren

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';

Anmerkung: Für eine neuere Version verwenden Sie authentication_string anstelle von password

6) Beenden Sie den Dienst erneut, entfernen Sie die Zeile skip-grant-tables Speichern Sie es und starten Sie den Dienst erneut. Versuchen Sie, das Kennwort zu verwenden, das Sie zum Anmelden festgelegt haben.


Auf Mac:

0) Stoppen Sie den Dienst

Sudo /usr/local/mysql/support-files/mysql.server stop

1) Grant-Tabelle überspringen

Sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

sobald es ausgeführt wird, schließen Sie es nicht und öffnen Sie ein neues Terminalfenster

2) Gehen Sie in MySQL-Terminal

/usr/local/mysql/bin/mysql -u root

3) Aktualisieren Sie das Passwort

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

für neuere Versionen wie 5.7 verwenden Sie

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

4) führe FLUSH PRIVILEGES;

5) führe \q beenden

6) Starten Sie den MySQL-Server

Sudo /usr/local/mysql/support-files/mysql.server start
55
Timeless
  • Stoppen Sie den MySQL-Dienst, indem Sie unter Verwaltung> Dienste nachsehen
  • Öffnen Sie Start> Ausführen> cmd (Als Administrator ausführen)
  • Starten Sie den Server manuell über diese Zeile:

    mysqld -P3306 --skip-grant-tables
    
  • Führen Sie im neuen Befehl (Als Administrator ausführen) Folgendes aus:

    mysql -P3306 mysql
    
  • Führen Sie die folgende Abfrage im MySQL-Client aus:

    update mysql.user set authentication_string=password('new_password') where user='root';
    

Das ist es!!

5

Update diese Antwort in Bezug auf Änderungen bei MySQL 5.7:

0) Dienst herunterfahren mysql57

1) gehe zu C:\ProgramData\MySQL\MySQL Server 5.7, Beachte, dass ProgramData ein versteckter Ordner ist

2) suche die Datei my.ini, Öffne sie und füge eine Zeile skip-grant-tables Unter [mysqld] Ein, speichere

[mysqld]

skip-grant-tables

3) Service starten mysql57

4) Von Rechts wegen können Sie auf die Datenbank zugreifen und MySQL ausführen

5) und verwenden Sie die Abfrage unten, um das Passwort zu aktualisieren

update mysql.user set authentication_string=password('NEW_PASSWORD') where user='root';

6) Beenden Sie den Dienst erneut, entfernen Sie die Zeile skip-grant-tables, Speichern Sie sie und starten Sie den Dienst erneut. Versuchen Sie, das Kennwort zu verwenden, das Sie zum Anmelden festgelegt haben.

2
Polyakoff

Stoppen Sie zuerst den MySQL-Server und führen Sie die folgenden Schritte aus:

Gehen Sie zum Verzeichnis mysql bin auf cmd i, e. cd C:\ProgramData\MySQL\MySQL Server 5.6\bin (Es ist ein verstecktes Verzeichnis)

wenn Sie die Grant-Tabellen überspringen, können Sie in mysql eintreten

  • mysqld.exe --skip-grant-tables

Öffnen Sie die neue Eingabeaufforderung oder dieselbe Eingabeaufforderung

  • mysql.exe -uroot -p (Ohne Passwort kannst du dich bei mysql einloggen)

führen Sie die folgende Abfrage aus, um das Passwort für mysql root zu ändern

  • UPDATE mysql.user set password=password('root password') WHERE user='root';
  • flush privileges

Das war's, starte mysql neu und los geht's mit neuem Passwort .. !!

0
Mohamed Ayas

Ohne die mi.ini zu bearbeiten:

service mysql stop
mysqld_safe --skip-grant-tables

auf einer separaten SSH-Sitzung:

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';

keine Notwendigkeit, Berechtigungen zu leeren, starten Sie einfach den Server neu

0
Cris

Falls Sie Xampp installiert haben.

  1. Gehe zu C:\xampp\mysql\bin
  2. Öffnen Sie die Datei my.ini
  3. Setze skip-grant-tables Unter [mysqld]
  4. Gehen Sie zu Windows-Diensten und beenden Sie den MySQL-Dienst
  5. Lösen Sie diesen Befehl über die Eingabeaufforderung C:\xampp\mysql\bin\mysql Aus.
  6. Setzen Sie nun das root-Passwort mit der MySQL-Abfrage update mysql.user set password=PASSWORD('root') where user='root'; zurück.
  7. Beenden Sie den Befehl Eingabeaufforderung.
  8. Starten Sie den in Schritt 4 deaktivierten MySQL-Windows-Dienst neu.
  9. Jetzt können Sie sich mit dem Passwort als root bei mysql anmelden.
0
webDev

Für MySQL 5.6 unter Windows musste ich diese Anweisung ausführen, damit sie funktioniert.

UPDATE mysql.user
SET Password=PASSWORD('NEW PASSWORD'), 
authentication_String=PASSWORD('NEW PASSWORD')
WHERE User='root';
0
Mohan