У меня есть два пользователя MySQL с одинаковыми разрешениями: один может подключаться с удаленного хоста, другой - нет. Как это могло произойти?
Вот моя конфигурация:
SELECT * FROM user WHERE user IN ('baduser','gooduser') AND host='%';
Результаты в:
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
Но когда я вхожу в систему как baduser с удаленного хоста ...
mysql -h 999.888.777.666 -u baduser -p my_db
Я получаю следующую ошибку:
ERROR 1045 (28000): Access denied for user 'baduser'@'111.222.333.444' (using password: YES)
Возможно, у вас неправильный пароль для baduser - попробуйте сбросить пароль для этого пользователя и повторите попытку, чтобы увидеть, решит ли это проблему. Я тестировал и получаю точно такое же сообщение об ошибке и код ошибки при использовании неправильного пароля. Обратите внимание, что у вас может быть другой пароль для пользователя в зависимости от того, с какого хоста он подключается.
Если это не сработает, попробуйте удалить пользователя и заново создать его, чтобы посмотреть, решит ли это проблему.