Назад | Перейти на главную страницу

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 запрещает доступ?

у вас есть skip-resolv в my.cnf? В таком случае MySQL не будет проверять ACL с именами хостов.

В общем, избегайте использования имен хостов в MySQL ACL и всегда используйте IP или сеть. Затем добавьте skip-resolv в свою конфигурацию, у вас будет лучшая производительность соединения.

Он пытается подключиться, используя имя пользователя «Mikes-MacBook-Air.local» вместо «myUser». Какую точную команду вы используете для подключения, когда получаете сообщение об ошибке?