22/12/2024

WordPress

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 Windows.

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 : miraclesalad.com - md5

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 !

Si vous souhaitez apprendre à installer WordPress sur un serveur Linux en partant de zéro, suivez ce tutoriel :

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.