Eu tenho dois usuários do MySQL com exatamente as mesmas permissões, um pode se conectar de um host remoto, o outro não. Como pode ser isso?
Aqui está a minha configuração:
SELECT * FROM user WHERE user IN ('baduser','gooduser') AND host='%';
Resulta em:
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string password_expired
% gooduser *PASS1 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL N
% baduser *PASS2 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL N
No entanto, quando eu faço login como 'baduser' do host remoto...
mysql -h 999.888.777.666 -u baduser -p my_db
Estou tendo o erro a seguir:
ERROR 1045 (28000): Access denied for user 'baduser'@'111.222.333.444' (using password: YES)
Você pode ter a senha errada para usuário mal-intencionado - tente redefinir a senha desse usuário e tente novamente para ver se isso resolve o problema. Eu testei e recebo exatamente a mesma mensagem de erro e código de erro ao usar uma senha incorreta. Observe que você pode ter uma senha diferente para um usuário, dependendo de qual host está se conectando.
Se isso não funcionar, tente excluir o usuário e recriá-lo para ver se isso resolve.
https://dev.mysql.com/doc/refman/5.5/en/set-password.html