INFOTHEMA

Auteur Sujet: WordPress : comment réinitialiser le mot de passe admin via MySQL ?  (Lu 4999 fois)

Animateur

  • Administrator
  • Hero Member
  • *****
  • Messages: 5945
    • Voir le profil
WordPress : comment réinitialiser le mot de passe admin via MySQL ?

I. Présentation

Dans ce tutoriel, nous allons voir comment réinitialiser le mot de passe admin / administrateur de WordPress à partir de MySQL et d'une requête SQL magique. Cela est particulièrement utile si vous perdez le mot de passe admin de votre site WordPress.

Pour appliquer cette méthode, vous devez disposer d'un accès en ligne de commande à votre hébergement Web afin d'interagir avec la ligne de commande MySQL / MariaDB. Une alternative consiste à agir directement à partir de PhpMyAdmin pour exécuter la requête SQL.

Une méthode inévitable si vous avez un seul compte avec le rôle "Administrateur", que vous avez oublié le mot de passe et que vous ne pouvez pas utiliser la fonctionnalité "Mot de passe oublié".

II. Réinitialiser le mot de passe admin de WordPress

Commencer par vous connecter sur votre hébergement, à l'aide du SSH et d'un logiciel tel que Putty ou du client SSH natif de Linux.

Ensuite, ouvrez le fichier "wp-config.php" de votre WordPress afin de récupérer 4 valeurs : le nom de la base de données WordPress, l'utilisateur pour se connecter à cette base ainsi que son mot de passe, et l'adresse IP ou le nom FQDN de votre serveur de base de données.

Par exemple :

/** Nom de la base de données de WordPress. */
define('DB_NAME', 'mabddwordpress');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'utilisateurbddwp');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'MonSuperMotDePassePourBDDWordPress');

/** Adresse de l’hébergement MySQL. */
define('DB_HOST', '127.0.0.1:3306');

Maintenant que l'on a ces informations, il faut se connecter. Utilisez la commande ci-dessous en adaptant les valeurs (selon le contenu de wp-config.php) :

mysql -h <serveur-bdd> -u <utilisateur-bdd> -p
mysql -h 127.0.0.1:3306 -u utilisateurbddwp -p

Une fois connecté à votre instance MySQL / MariaDB, listez les bases de données :

show databases;
La base de données mentionnée dans le fichier wp-config.php devrait apparaître. Sélectionnez cette base :

use mabddwordpress;
Listez les tables afin de visualiser le préfixe de vos tables WordPress, étant donné qu'il sera différent de "wp_" si vous avez suivi les recommandations d'installation (à savoir utiliser un préfixe personnalisé).

show tables;
Pour ma part, je peux voir que le nom de toutes les tables commence par "wp2021_" : c'est mon préfixe. Je sais aussi que la table des utilisateurs se nomme "users". Je vais devoir cibler la table : wp2021_users.

Partons du principe que le nouveau mot de passe du compte "admin" sera "NouveauMDPadminWordPr3ss". On ne peut pas insérer la valeur en clair, car il faut insérer son hash md5. Pour cela, on va utiliser un site en ligne comme celui-ci : https://www.miraclesalad.com/webtools/md5.php

Il suffit de saisir le mot de passe que l'on souhaite et de copier la valeur "MD5 Hash" qui s'affiche :



Il ne reste plus qu'à modifier le mot de passe du compte "admin" qui a l'identifiant "1" puisqu'il s'agit du compte créé lors de l'installation de WordPress. Si vous avez suivi les bonnes pratiques, l'identifiant ne devrait pas être "admin" mais autre chose. Toutefois, l'ID reste "1".

Voici la requête SQL à exécuter après l'avoir adaptée (nom de la base de données, préfixe, et hash MD5) :

UPDATE `mabddwordpress`.`wp2021_users` SET user_pass="0e2cd88be9f9ba8d0b44c96220f40197" WHERE ID = 1;
Il ne reste plus qu'à quitter MySQL et à vous connecter à votre interface d'administration "WP-ADMIN" de WordPress pour gérer votre site !  ;)

Source it-connect.fr
Membre de l'APRIL (www.april.org) / Membre du bureau Association "Debian Facile"  (https://debian-facile.org)