L’erreur de WordPress « Vous n’avez pas les autorisations suffisantes pour accéder à cette page » est généralement rencontrée lorsque vous tentez d’accéder au tableau de bord WordPress ou aux pages d’administration après avoir modifié le préfixe des tables de la base de données WordPress ou déplacé WordPress d’un fournisseur d’hébergement à un autre, ou simplement mis à jour votre installation de WordPress.

Pour résoudre ce problème et retrouver l’accès au tableau de bord WordPress, vous devez changer manuellement certaines entrées de la table « wp_usermeta » dans la base de données MySQL de WordPress. Dans ce tutoriel WordPress, nous vous expliquerons quelles entrées doivent être modifiées et comment les modifier à l’aide des commandes phpMyAdmin ou MySQL.

Comment modifier les entrées sur wp_usermeta

1 – Connectez-vous à votre CPanel et lancez phpMyAdmin qui se trouve dans la section Bases de données comme indiqué dans la capture d’écran ci-dessous.

Mysql cpanel

2 – Une fois connecté à PHPMyAdmin, sélectionnez la base de données MySQL qui correspond à celle de votre blog WordPress. Si vous avez plusieurs bases de données et que vous ne savez pas quelle est la base de données WordPress, vous pouvez trouver le nom de la base de données à partir du fichier WordPress « wp-config.php », à la ligne ou se trouve le code « define(‘DB_NAME’, ‘wpdb’) ».

Une fois que la base de données WordPress est sélectionnée, une liste de toutes les tables de la base de données est affichée comme indiqué dans la capture d’écran ci-dessous. Cliquez sur la table « wp_usermeta » pour accéder à son contenu. Le préfixe de table WordPress par défaut est « wp » donc si vous venez de modifier le préfixe, par exemple  pour « Kyp51 », le nom de la table sera « Kyp51_usermeta ».

Accéder à la table wp usermeta

4 – Une fois que la liste des options utilisateur est chargée, modifiez le préfixe des entrées suivantes dans la colonne « meta_key » afin que le nom d’utilisateur de l’administrateur corresponde au préfixe que vous avez configuré dans votre fichier WordPress wp-config.php. Si vous avez plusieurs utilisateurs WordPress, vous devrez peut-être modifier la liste d’entrées ci-dessous pour chaque utilisateur de WordPress.

  • Wp_capabilities
  • Wp_user_level
  • Wp_user-settings
  • Wp_user-settings-time
  • Wp_dashboard_quick_press_last_post_id

Modification des tables wordpress

Exemple: si le préfixe actuel de la table de base de données WordPress est Kyp51, les entrées doivent être renommées:

  • Kyp51_capabilities
  • Kyp51_user_level
  • Kyp51_user-settings
  • Kyp51_user-settings-time
  • Kyp51_dashboard_quick_press_last_post_id

Quelques astuces de sécurité:

Assurez-vous que la « CaPiTaLiZatIoN » du préfixe correspond à celui du préfixe pour toutes les tables de la base de données.

Si vous avez installé des plugins tiers ou des thèmes qui ajoutent des entrées à cette table, vous devrez peut-être également modifier leur préfixe. Dans cet exemple, nous avons utilisé une base de données d’installation WordPress par défaut.

Une fois que les enregistrements de base de données ci-dessus sur la table wp_usermeta ont été renommés, vous devriez pouvoir vous connecter au tableau de bord WordPress.

Comment modifier les enregistrements à partir de MySQL

1 – Connectez-vous à MySQL en utilisant la commande ci-dessous et, une fois demandé, spécifiez le mot de passe de l’utilisateur:

mysql –host localhost –u root -p

2 – Sélectionnez la base de données WordPress en utilisant la commande ci-dessous. Dans notre exemple, la base de données MySQL de WordPress s’appelle « wpdb »:

Use wpdb

3 – Exécutez les commandes MYSQL suivantes pour renommer le préfixe des lignes mentionnées à l’étape 4 du guide ci-dessus. Dans notre exemple, nous renommons pour le préfixe de Kyp51.

UPDATE  `wpdb`.`wp_usermeta` SET  `meta_key` =  'Kyp51_capabilities' WHERE  `wp_usermeta`.`umeta_id` =10;
UPDATE  `wpdb`.`wp_usermeta` SET  `meta_key` =  'Kyp51_user_level' WHERE  `wp_usermeta`.`umeta_id` =11;
UPDATE  `wpdb`.`wp_usermeta` SET  `meta_key` =  'Kyp51_user-settings' WHERE  `wp_usermeta`.`umeta_id` =14;
UPDATE  `wpdb`.`wp_usermeta` SET  `meta_key` =  'Kyp51_user-settings-time' WHERE  `wp_usermeta`.`umeta_id` =15;
UPDATE  `wpdb`.`wp_usermeta` SET  `meta_key` =  'Kyp51_dashboard_quick_press_last_post_id' WHERE  `wp_usermeta`.`umeta_id` =16;

Une installation WordPress par défaut a été utilisée dans l’exemple ci-dessus. Dans une véritable installation en direct de WordPress, le nombre des lignes « umeta_id » que vous souhaitez modifier peut être différent. Il est recommandé de vérifier la valeur de chaque ligne avant de la renommer en utilisant la commande ci-dessous. Changez la valeur umeta_id pour correspondre à la ligne que vous souhaitez vérifier:

select * from wp_usermeta where umeta_id=10;

Une fois que les enregistrements ci-dessus de la table wp_usermeta ont été renommés, vous devriez pouvoir vous connecter au tableau de bord WordPress.

C’est tout pour ce tutoriel, j’espère qu’il vous permettra de vous connecter à votre tableau de bord WordPress.