Ich habe meinen MySQL-Benutzernamen und mein Passwort verloren. Wie rufe ich es ab?
158
Stoppen Sie den MySQL-Prozess.
Starten Sie den MySQL-Prozess mit der Option --skip-grant-tables.
Starten Sie den MySQL-Konsolenclient mit der Option -u root.
Listen Sie alle Benutzer auf.
SELECT * FROM mysql.user;
Passwort zurücksetzen;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Aber NICHT VERGESSEN zu
Stoppen Sie den MySQL-Prozess
Starten Sie den MySQL-Prozess normal (dh ohne die Option --skip-grant-tables).
wenn du fertig bist. Andernfalls kann die Sicherheit Ihrer Datenbank beeinträchtigt werden.
dpkg-reconfigure mysql-server-5.5
Befehls zum Zurücksetzen des MySQL-Root-Passworts?-u
Starten des Servers ignoriert wird--skip-grant-tables
.mysql.user
aufgerufenpassword
. Verwenden Sieauthentication_string
stattdessen.Leider ist Ihr Benutzerpasswort nicht abrufbar. Es wurde mit einem Einweg-Hash gehasht, der, wenn Sie nicht wissen, irreversibel ist. Ich empfehle Xenph Yan oben zu verwenden und einfach ein neues zu erstellen.
Sie können auch das folgende Verfahren aus dem Handbuch verwenden, um das Kennwort für alle MySQL- Root- Konten unter Windows zurückzusetzen:
Suchen Sie dann den MySQL-Dienst in der Liste und beenden Sie ihn. Wenn Ihr Server nicht als Dienst ausgeführt wird, müssen Sie möglicherweise den Task-Manager verwenden, um das Beenden zu erzwingen.
Erstellen Sie eine Textdatei und platzieren Sie die folgenden Anweisungen darin. Ersetzen Sie das Passwort durch das Passwort, das Sie verwenden möchten.
Die Anweisungen UPDATE und FLUSH müssen jeweils in eine einzelne Zeile geschrieben werden. Die UPDATE- Anweisung setzt das Kennwort für alle vorhandenen Stammkonten zurück , und die FLUSH- Anweisung weist den Server an, die Grant-Tabellen erneut in den Speicher zu laden.
Öffnen Sie ein Konsolenfenster, um zur Eingabeaufforderung zu gelangen:
Starten Sie den MySQL-Server mit der speziellen Option --init-file :
Wenn Sie MySQL an einem anderen Speicherort als C: \ mysql installiert haben , passen Sie den Befehl entsprechend an.
Der Server führt den Inhalt der Datei aus, die beim Start durch die Option --init-file benannt wurde , und ändert jeden Stamm Kennwort für das Konto.
Sie können dem Befehl auch die Option --console hinzufügen, wenn die Serverausgabe im Konsolenfenster und nicht in einer Protokolldatei angezeigt werden soll.
Wenn Sie MySQL mit dem MySQL-Installationsassistenten installiert haben, müssen Sie möglicherweise eine Option --defaults-file angeben :
Die entsprechende Einstellung für die Datei --defaults-file finden Sie im Services Manager:
Suchen Sie den MySQL-Dienst in der Liste, klicken Sie mit der rechten Maustaste darauf und wählen Sie die Option Eigenschaften. Das Feld Pfad zur ausführbaren Datei enthält die Einstellung --defaults-file .
Sie sollten nun in der Lage sein, mit dem neuen Kennwort eine Verbindung zu MySQL als Root herzustellen.
quelle
mysqld-nt
stattmysqld
?--init-file
? (Etwas ähnliches wie der--execute
Befehl von mysql.exe .)Eine Verbesserung der nützlichsten Antwort hier:
Der MySQL-Server muss nicht neu gestartet werden.
Verwenden Sie
FLUSH PRIVILEGES;
nach dem Update die Anweisung mysql.user für die Kennwortänderung.Damit
--skip-grant-options
kann jeder ohne Passwort und mit allen Berechtigungen eine Verbindung herstellen. Da dies unsicher ist, möchten Sie vielleichtfrom: reference: resetting-permissions-generic
quelle
mysql.user
? Oft ist das jedoch nicht der Fall.Obwohl Sie ein MySQL-Kennwort nicht direkt ohne Bruteforcing wiederherstellen können, gibt es möglicherweise einen anderen Weg: Wenn Sie MySQL Workbench verwendet haben, um eine Verbindung zur Datenbank herzustellen, und die Anmeldeinformationen im "Tresor" gespeichert haben, sind Sie goldrichtig.
Unter Windows werden die Anmeldeinformationen in % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat gespeichert - verschlüsselt mit CryptProtectData (ohne zusätzliche Entropie). Das Entschlüsseln ist einfach:
Oder Sie können diesen DonationCoder-Thread nach Quelle + ausführbarer Datei einer schnellen und schmutzigen Implementierung durchsuchen.
quelle
Mach es ohne Ausfallzeit
Führen Sie den folgenden Befehl im Terminal aus, um eine Verbindung zum DBMS herzustellen (Sie benötigen Root-Zugriff):
Führen Sie das Update-Passwort des Zielbenutzers aus (in meinem Beispiel lautet der Benutzername
mousavi
und das Passwort muss sein123456
):Zu diesem Zeitpunkt müssen Sie eine Spülung durchführen, um die Änderungen zu übernehmen:
Getan! Sie haben es ohne Unterbrechung oder Neustart des MySQL-Dienstes getan.
quelle
Wenn Sie Root-Zugriff auf den Server haben, auf dem MySQL ausgeführt wird, sollten Sie den MySQL-Server mit diesem Befehl stoppen
Starten Sie nun MySQL mit diesem Befehl
Jetzt können Sie sich mit mysql anmelden
Vollständige Anweisungen finden Sie hier http://www.techmatterz.com/recover-mysql-root-password/
quelle
Melden Sie sich unter Windows Cmd mit dem vorhandenen Benutzer bei MySQL an:
Führen Sie dann den folgenden Befehl aus:
Nach dieser Kopie verschlüsselt md5 Passwort für den entsprechenden Benutzer und es gibt mehrere Online-Passwort entschlüsselte Anwendung im Web verfügbar. Verwenden Sie dieses Entschlüsselungskennwort und verwenden Sie es für die nächste Anmeldung. oder aktualisieren Sie das Benutzerkennwort mit dem fließenden Befehl:
Melden Sie sich dann mit dem neuen Passwort und Benutzer an.
quelle
Wenn Sie ODBC eingerichtet haben, können Sie das Kennwort aus der ODBC-Konfigurationsdatei abrufen. Dies befindet sich in /etc/odbc.ini für Linux und im Ordner Software / ODBC in der Registrierung unter Windows (es gibt mehrere - möglicherweise ist eine Suche erforderlich).
quelle
Speicher die Datei. In diesem Beispiel heißt die Datei C: \ mysql-init.txt. Es werden administrative Berechtigungen zum Speichern der Datei abgefragt
quelle
Obwohl eine strenge, logische, computerwissenschaftliche Interpretation der Op-Frage erforderlich wäre sowohl "Wie ich meinen MySQL-Benutzernamen ab" als auch "Passwort" dachte ich, dass es für jemanden nützlich sein könnte, auch die OP- Interpretation anzusprechen . Mit anderen Worten ...
1) Wie rufe ich meinen MySQL-Benutzernamen ab?
ODER
2) Passwort
Diese letztere Bedingung scheint bereits ausführlich behandelt worden zu sein, so dass ich mich nicht darum kümmern werde. Das Folgende ist eine Lösung für den Fall "Wie erhalte ich meinen MySQL-Benutzernamen" allein. HIH.
Um Ihren MySQL-Benutzernamen zu finden, führen Sie die folgenden Befehle in der MySQL-Shell aus ...
SELECT User FROM mysql.user;
Es wird eine Tabelle aller MySQL-Benutzer gedruckt.
quelle