Solución 1:
Una cosa que puede verificar es (que requiere que inicie sesión en la consola MySQL):verifique que tenga permisos para iniciar sesión en root
vía localhost
.
mysql -h 127.0.0.1 -u root -p
-- Una vez que haya iniciado sesión correctamente --
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)
Solo tíralo por ahí, en caso de que este sea el problema.
Solución 2:
La mayoría de los clientes de MySQL son extraños en el hecho de que si especifica el host como localhost
, lo alias para una conexión de socket en lugar de una conexión TCP. Sus opciones son quedarse con 127.0.0.1
o, si el cliente lo admite (como lo hace el binario mysql CLI con el --protocol
flag), forzarlo a usar TCP en lugar de un socket Unix.