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.
Après avoir ouvert le fichier et essayé de le modifier (Visual Studio Code), vous aurez cet écran :
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.
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 :
- Connectez-vous à votre compte phpMyAdmin.
- Cliquez sur l'onglet "Comptes d'utilisateurs".
- Sélectionnez sur la racine de l'utilisateur (ou celle dont vous voulez changer le mot de passe)
- Cliquez sur le lien Modifier les privilèges
- Ici, vous pouvez voir la liste des privilèges accordés à l'utilisateur.
- Assurez-vous que l'utilisateur dispose des privilèges nécessaires pour accéder à la base de données.
- 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".
- 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.
Les paramètres dans la zone en surbrillance doivent être vérifiés :
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.
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
En tant que l'un des co-fondateurs de Codeless, j'apporte à la table une expertise dans le développement d'applications WordPress et Web, ainsi qu'une expérience dans la gestion efficace de l'hébergement et des serveurs. Ma passion pour l'acquisition de connaissances et mon enthousiasme pour construire et tester de nouvelles technologies me poussent à innover et à m'améliorer constamment.