In vielen Fällen haben wir als Administrator oder phpMyAdmin kein Programm, um Datenbanken interaktiv zu verwalten. Wenn wir das WordPress-Passwort wiederherstellen müssen, weil wir es vergessen haben und nur eine Sitzung im Terminal geöffnet haben, können wir das WordPress-Passwort leicht ändern.
Ich verwende diese Methode ziemlich häufig in lokalen Entwicklungsumgebungen, in denen kein SMTP-Mailserver installiert ist und ich die Funktion zum Abrufen von Passwörtern selbst nicht über eine E-Mail verwenden kann, die WordPress enthält.
So ändern Sie das WordPress-Passwort über die MySQL-Konsole.
Um dieses Tutorial durchzuführen, benötigen wir eine offene Konsolensitzung und Anmeldeinformationen für den Zugriff auf die MySQL- oder MariaDB-Datenbank. Diese lauten: Benutzername, Kennwort und Host (standardmäßig wird sie weggelassen, wenn es sich um localhost handelt) .
Der Vorgang wird in drei Schritten durchgeführt:
- Erstellen Sie den Hash unseres neuen Passworts.
- Stellen Sie eine Verbindung zur WordPress-Datenbank her.
- Ersetzen Sie den Hash des alten Passworts durch den Hash des neuen.
So erstellen Sie einen Hash eines WordPress-Passworts.
WordPress hat den MD5-Algorithmus von Anfang an verwendet, um das Kennwort in der Datenbank zu speichern. Da dieser Algorithmus jedoch als unsicher eingestuft wird, hat WordPress 2007 phpass (portables PHP-Kennwort-Hashing-Framework) übernommen .
Stellen Sie sich vor, unser Passwort ist “TechnoWikis” (ohne Anführungszeichen). Wenn wir die obigen Algorithmen verwenden, erhalten wir:
- MD5:
8bfe929f64006000e190bbe385b6e93a
- Phpass:
$P$BzJMa8sfzhikh/nmodBIN3yPPhkw.u1
Wenn Sie den Passwort-Hash direkt in der WordPress-Datenbank ändern, funktionieren beide Arten von Hashes, da WordPress mit beiden kompatibel bleibt . Tatsächlich werden wir den MD5-Algorithmus verwenden, um das Passwort vom Terminal wiederherzustellen, da WordPress automatisch zum phpass-Algorithmus wechselt, wenn wir uns zum ersten Mal identifizieren .
Wir werden den MD5-Algorithmus verwenden, um unser Passwort zu generieren, da wir diese Hashes auf einem Linux-Terminal sehr einfach mit dem echo -n TechnoWikis | md5sum
generieren können echo -n TechnoWikis | md5sum
Nachdem wir den Hash haben, der unserem neuen Passwort entspricht, greifen wir auf die WordPress-Datenbank zu.
Herstellen einer Verbindung zur WordPress-Datenbank über die Linux-Konsole.
In unserer offenen Terminalsitzung führen wir den mysql -u root -p
und geben das Kennwort ein. Bei einer anderen Gelegenheit haben wir bereits ein Tutorial mit Anweisungen für den Zugriff auf MariaDB oder MySQL über die Linux-Konsole veröffentlicht , die Sie meiner Meinung nach zur Hand haben.
Nach der Authentifizierung führen wir die Abfrage SHOW databases;
Daraufhin werden alle Datenbanken angezeigt, auf die der authentifizierte Benutzer Zugriff hat. Um die WordPress-Datenbank auszuwählen, führen wir die Abfrage USE nombre_db_wordpress;
.
Jetzt können wir alle Tabellen in der Datenbank mit der Abfrage SHOW tables;
und wir müssen die Tabelle identifizieren, in der WordPress-Benutzer gespeichert sind, die im Allgemeinen einen ähnlichen Namen wie wp_users
. Dies ist der Name der Tabelle in einer WordPress-Standardinstallation, da wp_
als wp_
.
Ersetzen Sie den Hash des alten Passworts durch den Hash des neuen.
Um eine Liste mit allen Benutzern und ihrer ID ( ID ) zu erhalten , führen wir die Abfrage aus:
SELECT ID, user_login, user_pass FROM wp_users;
Bei der vorherigen Abfrage kennen wir bereits die ID des Benutzers, an den wir das Kennwort ändern möchten. Wir gehen davon aus, dass Ihre ID die Nummer 2 ist. Daher lauten die von uns gestellten Fragen wie folgt:
UPDATE wp_users SET user_pass= "8bfe929f64006000e190bbe385b6e93a" WHERE ID = 2;
Wenn wir eine neuere MySQL- oder MariaDB- Version (Version größer oder gleich 5.x) haben , können wir den MD5-Hash direkt in der Abfrage berechnen. Auf diese Weise vermeiden wir den ersten Schritt, in dem wir den MD5-Hash unseres Passworts berechnet haben. Wenn unser Passwort “TechnoWikis” wäre (ohne Anführungszeichen) , wäre die Abfrage:
UPDATE wp_users SET user_pass= MD5('TechnoWikis') WHERE ID = 2;
Und das ist es, jetzt können wir mit dem Benutzernamen und dem neuen Passwort auf WordPress zugreifen.