Solution 1 :
 Une chose que vous pouvez vérifier est (qui vous oblige à vous connecter à la console MySQL) - vérifiez que vous disposez des autorisations nécessaires pour vous connecter à root par localhost .
 mysql -h 127.0.0.1 -u root -p 
-- Une fois que vous vous êtes connecté avec succès --
mysql> select user,host from mysql.user;
+------+--------------------------------+
| user | host                           |
+------+--------------------------------+
| root | 127.0.0.1                      | 
| root | ::1                            |
| root | localhost                      | <-- Make sure you have a localhost entry for root
+------+--------------------------------+
3 rows in set (0.00 sec)
 Il suffit de le jeter là-bas, juste au cas où c'est de cela qu'il s'agit.
Solution 2 :
 La plupart des clients MySQL sont étranges dans le fait que si vous spécifiez l'hôte comme localhost , ils l'associent à une connexion socket au lieu d'une connexion TCP. Vos options sont soit de vous en tenir à 127.0.0.1 ou, si le client le prend en charge (comme le binaire mysql CLI le fait avec le --protocol flag), forcez-le à utiliser TCP au lieu d'un socket unix.