phpMyAdmin MySQL – Comment résoudre une erreur #1045 Connexion au serveur MySQL non permise

L’erreur #1045 lors d’une authentification dans phpMyAdmin ou MySQL est souvent du à un mauvais utilisateur ou mot de passe.
Pour se sortir le doute, nous allons dans un premier temps vérifier que l’utilisateur et le mot de passe fonctionnent bien, pour cela, conectez-vous en SSH sur votre serveur et tapez ceci :

root#mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2766
Server version: 5.0.95 Source distribution .......
mysql>

L’utilisateur de MySQL est le plus souvent root. Si vous obtenez l’invite de commande mysql>, c’est que votre couple utilisateur/mot de passe fonctionne. Faite un ctrl+c ou tapez « exit » pour sortir.

Votre mot de passe ne fonctionne pas, pas de panique, nous allons le re-initialiser. On commence par stopper le serveur pour le faire tourner en mode dégradé (Cette commande peut être un peu différente suivant votre distribution) :

root# /etc/init.d/mysqld stop
ou
root#/etc/init.d/mysql stop

Rajouter sudo si vous n’avez pas les droits root (« sudo /etc/init.d/mysql stop).

Maintenant, on lance MySQL en ignorant les privilèges et en refusant les connexions externe au serveur car tous les utilisateurs deviennent root sur le serveur MySQL. Il est donc conseillé de couper Apache ou tout autre applicatif pouvant accéder à MySQL le temps du changement du mot de passe:

root#mysqld_safe –skip-grant-tables –skip-networking &root# mysql -u root
mysql > use mysql ;
mysql > update user set password=PASSWORD(“monpassword”) where User=’root’ ;
mysql > flush privileges ;
mysql > quit ;
root# /etc/init.d/mysqld start

On oublie pas de terminer en relançant le serveur MySQL.
J’attends vos commentaires pour enrichir cet article de vos mauvaises expériences avec toujours des solutions.