Pour des raisons de sécurité, WordPress vous demande de vous connecter à chaque nouvelle session. Par défaut, WordPress vous déconnecte de votre session après la fermeture de votre navigateur internet ou après 48 heures. Se connecter à chaque nouvelle session deviendra un automatisme, mais que se passe-t-il si vous essayez d’accéder à votre site et que vous êtes bloqué, même après avoir entré un mot de passe valide? Cela peut arriver pour plusieurs raisons : erreur de code, suppression accidentelle du compte admin ou tentative de piratage. Cependant, tout n’est pas perdu. Il est possible de récupérer votre accès au tableau de bord WordPress en créant un nouveau compte admin via MySQL. Ce tutoriel vous guidera au travers des différentes étapes du processus.
Accéder à MySQL
MySQL est votre base de données WordPress, et vous n’aurez pas souvent besoin d’y accéder. Cependant, pour cette tâche nous avons besoin de nous connecter au cPanel de votre hébergeur Web. Chaque hébergeur Web a sa propre méthode de connexion, mais c’est généralement très simple, il suffit d’entrer le nom d’utilisateur et le mot de passe dans les champs de la page cPanel (vous pouvez habituellement y accéder en tapant nomdevotresite.com/cpanel).
Localiser phpMyadmin
Une fois encore, chaque hébergeur Web a ses propres menus de paramétrages, mais les options sont les mêmes. Pour localiser phpMyAdmin vous devez cliquer sur la catégorie nommée Bases de données sur votre interface cPanel.phpMyAdmin est une option se trouvant dans cette catégorie, elle est souvent pas loin de Bases de données MySQ, Assistant de création de bases de données MySQL et MySQL distant.
Créer un nouveau compte
Dans phpMyAdmin vous devez cliquer sur la base de données de votre site WordPress et sélectionner l’option SQL. Ensuite vous serez dirigé dans l’éditeur SQL où vous devrez entrer du code pour créer un nouveau compte :
INSERT INTO 'wp_users' ('user_login', 'user_pass', 'user_nicename', 'user_email', 'user_status')
VALUES ('nouveauadmin', MD5('monmotdepasse'), 'prénom nom', 'courriel@monsiteweb.com', '0');
INSERT INTO 'wp_usermeta' ('umeta_id', 'user_id', 'meta_key', 'meta_value')
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO 'wp_usermeta' ('umeta_id', 'user_id', 'meta_key', 'meta_value')
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
Faites un copier/coller des codes ci-dessus dans l’éditeur de fichier SQL. Comme vous pouvez le voir, les détails du compte en gras ci-haut sont donnés en tant qu’exemple. nouveauadmin est le nom d’utilisateur du nouveau compte, le reste du code est plutôt évident. Modifiez le code pour votre site et n’oubliez pas de choisir un mot de passe solide.
Une fois tous les détails changés comme demandé, cliquez sur Go ou Sauvegarder (cela dépend de l’éditeur SQL de votre hébergeur). Désormais, vous pourrez vous connecter à WordPress avec votre nouveau nom d’utilisateur et mot de passe.
Dans votre tableau de bord WordPress, n’oubliez pas de supprimer votre ancien compte administrateur pour qu’il ne soit pas utilisé à des fins malintentionnées.
Bonjour,
Je viens d’essayer la manip dans PHPMyAdmin mais j’ai un message d’erreur. Voici ce qui m’est retourné comme message :
Erreur
Requête SQL :
INSERT INTO ‘wp_users’ (‘user_login’, ‘user_pass’, ‘user_nicename’, ‘user_email’, ‘user_status’)
VALUES (‘XXXXXXXXXXXXXXXX’, MD5(‘XXXXXXXXXXXXXXXXX’), ‘Prenom Nom’, ‘bourba@free.fr’, ‘0’)
MySQL a répondu : Documentation
#1064 – Erreur de syntaxe près de »wp_users’ (‘user_login’, ‘user_pass’, ‘user_nicename’, ‘user_email’, ‘user_stat’ à la ligne 1
Je n’ai fait qu’un copier/coller du code et remplacé tous les champs en gras comme indiqué par mes identifiants.
Y aurait-il une erreur dans le code à copier/coller ou le problème pourrait-il être dû à ma base de données ? Je précise que je n’arrive pas à modifier les mots de passe de autres comptes administrateur par la méthode MD5
Bonjour
J’ai utilisé la méthode du site suivant:
https://webypress.fr/comment-ajouter-un-nouvel-utilisateur-administrateur-wordpress-via-mysql/
Voici le code SQL qui en résulte:
INSERT INTO `Nom_de_la_base`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (NULL, ‘nouveau_admin’, MD5(‘mot_de_passe’), ‘prénom nom’, ‘adresse_mail’, », ‘date_création’, », ‘0’, »);
Bonjour,
J’ai le même message d’erreur:
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near »wp_users’ (‘user_login’, ‘user_pass’, ‘user_nicename’, ‘user_email’, ‘user_stat’ at line 1
Bonjour,
Google est ton ami….
La bonne requête, enfin qui marche chez moi 🙂
Evidemment, bien changer les données par les vôtres et attention aux tables si vous avez changé les préfixes :
INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (‘4’, ‘demo’, MD5(‘demo’), ‘Your Name’, ‘test@yourdomain.com’, ‘http://www.test.com/’, ‘2011-06-07 00:00:00’, », ‘0’, ‘Your Name’);
INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘ulwp_capabilities’, ‘a:1:{s:13: »administrator »;s:1: »1″;}’);
INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘ulwp_user_level’, ’10’);
That’s all folks !