WordPress Admin Passwort – CLI/ SQL

Es kann ja passieren, dass der Passwort Speicher korrupt wird und das mit dem automatischen Ausfüllen nicht mehr funktioniert. Also stehe ich jetzt ohne aktuelles Passwort für meine WordPress Instanz da. Wie komme ich da wieder rein ohne viel Aufwand?

Schritt 1:
Ich schaue mal in die wp_config.php, ob ich da irgendwelche Hinweise auf die Datenbankverbindung finde. Dem ist auch so. Dort finde ich den Datenbanknamen, den Benutzer und das Passwort für den Benutzer in Klartext …. (warum ist das so? – schaue ich mir dann noch getrennt an, dass ich das behebe)

Schritt 2:
Verbindung zur Datenbank herstellen und den Benutzer suchen. Hashwert des alten Passworts auslesen. Passwort mit dem Algorithmus MD5 neu setzen. Hashwert des neu gesetzten Passworts ausgeben und mit dem alten vergleichen. Verbindung zur Datenbank beenden.

mysql> show databases;
+--------------------------+
| Database                          |
+--------------------------+
| information_schema  |
| wordpress                        |
+--------------------------+
2 rows in set (0.05 sec)

mysql> use wordpress;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables LIKE '%users';
+-------------------------------------+
| Tables_in_wordpress (%users) |
+-------------------------------------+
| im_users                                                |
+-------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT ID, user_login, user_pass FROM im_users WHERE user_login = 'Mein_Benutzername';
+----+-------------------------+------------------------------------------------------+
| ID   | user_login                      | user_pass                                                                            |
+----+-------------------------+------------------------------------------------------+
|  8    | Mein_Benutzername  | Hashwert_Passwort_alt_unbekannt                        |
+----+-------------------------+------------------------------------------------------+
1 row in set (0.00 sec)

mysql> UPDATE im_users SET user_pass=MD5('Neues_Passwort') WHERE user_login ='Mein_Benutzername';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT ID, user_login, user_pass FROM im_users WHERE user_login = 'Mein_Benutzername';
+----+---------------------------+---------------------------------------+
| ID   | user_login                          | user_pass                                                 |
+----+---------------------------+---------------------------------------+
|  8    | Mein_Benutzername     | Hashwert_Passwort_neu_bekannt |
+----+---------------------------+---------------------------------------+
1 row in set (0.00 sec)

mysql> \q
Bye
Share on:

Schreibe einen Kommentar