Erreur 1045 (28000) accès refusé pour l'utilisateur root localhost (résolu)

Publié: 2023-03-14

"Erreur 1045 (28000) accès refusé pour l'hôte racine de l'utilisateur" est une erreur couramment rencontrée lors de la tentative d'accès à MySQL via le CMS WordPress. Cependant, cette erreur peut également se produire dans d'autres situations.

L'erreur que vous rencontrez suggère que l'utilisateur "root" ne possède pas les autorisations requises pour accéder à la base de données depuis localhost. Les raisons de ce problème peuvent être multiples, notamment un mot de passe incorrect, un nom d'utilisateur incorrect ou des autorisations inadéquates accordées à l'utilisateur.

Voici quelques étapes que vous pouvez suivre pour résoudre cette erreur

1. Vérifiez le nom d'utilisateur et le mot de passe

Assurez-vous que vous utilisez le nom d'utilisateur et le mot de passe corrects. Le nom d'utilisateur doit être "root" et le mot de passe doit être celui que vous avez défini lors du processus d'installation.

Si vous utilisez WordPress, vous devez vérifier votre fichier wp-config.php . Le fichier se trouve dans le dossier principal de WordPress.

wp-config.php

Après avoir ouvert le fichier et essayé de le modifier (Visual Studio Code), vous aurez cet écran :

modifier le nom d'utilisateur et le mot de passe wp-config.php de la base de données

Vérifiez DB_USER et DB_PASSWORD s'ils ont les bonnes valeurs

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

Si vous ne savez pas quel est votre nom d'utilisateur et votre mot de passe pour la base de données, accédez à cPanel> Base de données> Mysql et vérifiez-le.

comment accéder à la base de données mysql avec cpanel

Pour changer le mot de passe de la base de données WordPress veuillez suivre le tutoriel : Changer le mot de passe WordPress dans PHPMyAdmin

2. Vérifiez si l'utilisateur dispose des privilèges requis

Vérifiez si l'utilisateur "root" dispose des privilèges nécessaires pour accéder à la base de données.

Étape 1 : Tout d'abord, vous devez ouvrir votre terminal et écrire ssh [email protected]

 ssh [email protected]

Étape 2 : Après une connexion réussie, notez cette commande

 mysql -uroot -p

Étape 3 : Après avoir ajouté votre mot de passe, vous pouvez commencer à ajouter votre commande à partir de l'invite mysql

Étape 4 : Vous pouvez utiliser la commande suivante pour vérifier les privilèges :

 SHOW GRANTS FOR 'root'@'localhost';

Cela vous montrera la liste des privilèges que l'utilisateur "root" a pour le serveur "localhost". Si l'utilisateur ne dispose pas des privilèges nécessaires, vous pouvez les lui accorder à l'aide de la commande suivante :

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

Remarque : Remplacez 'password' par le mot de passe que vous souhaitez utiliser.

Pour vérifier si l'utilisateur dispose des privilèges requis pour utiliser phpMyAdmin, suivez ces étapes :

  1. Connectez-vous à votre compte phpMyAdmin.
  2. Cliquez sur l'onglet "Comptes d'utilisateurs".
  3. Sélectionnez sur la racine de l'utilisateur (ou celle dont vous voulez changer le mot de passe)
  4. Cliquez sur le lien Modifier les privilèges
  5. Ici, vous pouvez voir la liste des privilèges accordés à l'utilisateur.
  6. Assurez-vous que l'utilisateur dispose des privilèges nécessaires pour accéder à la base de données.
  7. Si l'utilisateur ne dispose pas des privilèges requis, vous pouvez les lui accorder en cochant les cases correspondantes et en cliquant sur le bouton "Go".
  8. Une fois que vous avez accordé les privilèges requis, essayez à nouveau d'accéder à la base de données pour voir si le problème a été résolu.
phpmyadmin modifier le lien des privilèges

Les paramètres dans la zone en surbrillance doivent être vérifiés :

Privilèges utilisateur phpmyadmin

Remarque : Si vous ne parvenez pas à accorder les privilèges nécessaires via phpMyAdmin, vous devrez peut-être accéder à l'interface de ligne de commande MySQL pour accorder les privilèges.

3. Vérifiez l'état du serveur MySQL

Assurez-vous que le serveur MySQL est en cours d'exécution. Vous pouvez vérifier l'état du serveur en exécutant la commande suivante après vous être connecté au shell du serveur :

 systemctl status mysql

Si le serveur n'est pas en cours d'exécution, démarrez-le à l'aide de la commande suivante :

 systemctl start mysql

Pour vérifier l'état de Mysql sur l'hébergement cPanel, vous devez vous connecter à votre tableau de bord d'hébergement. Une autre façon est de contacter directement votre fournisseur d'hébergement.

4. Vérifiez si le serveur MySQL écoute le bon port

Assurez-vous que le serveur MySQL écoute le bon port. Le port par défaut pour MySQL est 3306 .

Pour vérifier si le serveur MySQL écoute le bon port, vous pouvez suivre ces étapes :

1. Ouvrez un terminal ou une invite de commande sur votre serveur sur lequel MySQL est installé.

2. Connectez-vous au serveur MySQL à l'aide du client de ligne de commande. Vous pouvez utiliser la commande suivante, en remplaçant username et password par vos identifiants MySQL réels :

 mysql -u username -p

3. Une fois que vous êtes connecté au serveur MySQL, tapez la commande suivante pour afficher le numéro de port sur lequel le serveur MySQL écoute :

SHOW VARIABLES LIKE 'port';

Cette commande affichera le numéro de port sur lequel le serveur MySQL écoute. Par défaut, MySQL écoute sur le port 3306.

Vous pouvez également vérifier le numéro de port dans le fichier de configuration MySQL.

Le fichier de configuration est généralement nommé my.cnf ou my.ini , et il se trouve dans le répertoire d'installation de MySQL.

Pour trouver le répertoire d'installation de MySQL, vous pouvez suivre ces étapes :

1. Ouvrez un terminal ou une invite de commande sur votre serveur sur lequel MySQL est installé.

2. Tapez la commande suivante pour vérifier si MySQL est installé :

which mysql

Si MySQL est installé, cette commande affichera le chemin vers le fichier exécutable mysql sinon vous recevrez un message d'erreur.

Si MySQL est installé, vous pouvez réutiliser la commande which pour trouver le répertoire d'installation. Tapez la commande suivante en remplaçant /path/to/mysql par le chemin du fichier exécutable mysql :

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

Cette commande affichera le répertoire d'installation de MySQL. Vous pouvez utiliser ce répertoire pour localiser le fichier de configuration MySQL ( my.cnf ou my.ini ) et d'autres fichiers et répertoires MySQL.

Sinon, si vous avez accès au client MySQL, vous pouvez également exécuter la requête suivante pour trouver le répertoire d'installation de MySQL :

 SELECT @@basedir;

Cela affichera le répertoire d'installation de MySQL.

Vous pouvez également consulter le fichier de configuration MySQL pour vérifier le numéro de port sur lequel MySQL est configuré pour écouter. Le fichier de configuration est généralement nommé my.cnf ou my.ini , et il se trouve dans le répertoire d'installation de MySQL.

port mon.cnf et sql

Ouvrez le fichier de configuration avec un éditeur de texte et recherchez le paramètre de port. La valeur de ce paramètre spécifie le numéro de port sur lequel MySQL est configuré pour écouter.

Si le serveur MySQL n'écoute pas sur le bon port, vous pouvez modifier le paramètre de port dans le fichier de configuration et redémarrer le serveur MySQL pour appliquer les modifications.

N'oubliez pas de redémarrer le service Mysql si vous avez changé le port :

 service mysql restart

5. Réinitialisez le mot de passe root

Si aucune des étapes ci-dessus ne fonctionne, vous pouvez essayer de réinitialiser le mot de passe root. Vous pouvez le faire en suivant les étapes de cet article :

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

Remarque : Cette méthode nécessite que vous ayez accès au fichier de configuration MySQL et que vous puissiez redémarrer le serveur MySQL.

Vous pourriez être intéressé à lire:

Comment réparer l'erreur "Échec de l'installation : Impossible de créer le répertoire" sur WordPress

Comment réparer WordPress bloqué en mode maintenance (RÉSOLU)

Comment réparer "Échec de la mise à jour. La réponse n'est pas une réponse JSON valide »

Comment réparer "Erreur lors de l'établissement d'une connexion à la base de données" ? – 2023