MySQL отказывает в доступе законному удаленному пользователю
Я создал пользователя и дал этому пользователю полный доступ, но MySQL по-прежнему отказывает в доступе этому пользователю - почему?
Создать пользователя:
create user 'myUser'@'Mikes-MacBook-Air.local' identified by 'account_password'
Предоставьте привилегии всем базам данных:
grant all privileges on *.* to 'myUser'@'Mikes-MacBook-Air.local' identified by 'account_password' with grant option
Подтвержденный грант:
show grants for 'myUser'@'Mikes-MacBook-Air.local'
MySQL работает (проверено) на компьютере с IP 192.168.0.2, а клиент подключается с компьютера с IP 192.168.0.3. Я даже создал учетную запись пользователя с IP в качестве домена:
Создать пользователя:
create user 'myUser'@'192.168.0.3' identified by 'account_password'
Предоставьте привилегии всем базам данных:
grant all privileges on *.* to 'myUser'@'192.168.0.3' identified by 'account_password' with grant option
Подтвержденный грант:
show grants for 'myUser'@'192.168.0.3'
Я перезагрузил обе машины и подтвердил, что IP-адреса не изменились, и MySQL работает. Я могу получить доступ к этому серверу MySQL из Workbench без проблем с одной и той же клиентской машины - хотя разные учетные данные. Я также могу получить доступ к этому экземпляру MySQL с другого удаленного клиентского компьютера, где у пользователя есть аналогичная учетная запись MySQL с другим доменом компьютера.
После всего этого я все же получаю исключение:
Exception: Access denied for user 'myUser'@'Mikes-MacBook-Air.local' (using password: YES)
Почему MySQL отказывает в доступе?
2 ответа
Он пытается подключиться, используя имя пользователя "Mikes-MacBook-Air.local" вместо "myUser". Какую команду вы используете для подключения при получении сообщения об ошибке?
У вас есть skip-resolv в вашем my.cnf? Если это так, MySQL не будет проверять ACL с именами хостов.
В общем, избегайте использования имен хостов в MySQL ACL и всегда используйте IP или сеть. Затем добавьте skip-resolv в вашу конфигурацию, вы получите лучшую производительность соединения.