O estilo localhost
de se conectar ao mysqld força o cliente mysql a autenticar através do arquivo socket.
Conectar via curinga %
exige a conexão ao mysqld via TCP / IP.
Se tiver myuser@'%'
com uma senha de mys3cr3t
e você não quiser adicionar myuser@'localhost'
, gostaria de sugerir o seguinte:
Conecte-se ao mysql assim
mysql --protocol=tcp -umyuser -pmys3cr3t
Usar --protocol=tcp
força o programa cliente mysql a usar o TCP / IP para conectar
Depois de se conectar, execute esta consulta
SELECT USER(),CURRENT_USER();
USER () relata como você tentou autenticar no MySQL
CURRENT_USER () informa como você pode autenticar no MySQL
Eu escrevi sobre isso no DBA StackExchange em 18 de janeiro de 2012 .