В разрешении MySQL отказано из локального, но может подключиться удаленно - PullRequest
6 голосов
/ 15 июля 2010

Я пытаюсь подключиться к моей базе данных mysql на удаленном сервере (через ssh) с помощью команды:

mysql -u me -h mydomain.com -p

Но происходит сбой при ОШИБКЕ 1045 (28000): доступ запрещен для пользователя .. ошибка

В то время как

mysql -u me -h localhost -p

Работает

Теперь это не только потому, что я не настроил разрешения, потому что разрешения для этой базы данных установлены для% или любого хоста для пользователя me.

Это подтверждается тем фактом, что я могу правильно подключиться с локального компьютера к серверу, используя одного и того же пользователя. то есть выполнение следующей команды с моего локального компьютера работает:

mysql -u me -h mydomain.com -p

Итак, мой вопрос, почему это происходит и как я могу это исправить? Почему я не могу подключиться к моему серверу mysql с моего сервера, когда я использую доменное имя вместо localhost, хотя разрешения настроены на прием соединений с любого хоста.

1 Ответ

16 голосов
/ 15 июля 2010

Это происходит из-за способа, которым MySQL обрабатывает разрешения.

Когда вы подключаетесь с удаленного хоста (или с локального хоста через внешний IP), он будет соответствовать записи me@% ( если , то нет конкретного гранта для конкретного хоста, который вы используете!).Но когда вы подключаетесь через интерфейс обратной связи («localhost» IP) или сокет, он будет использовать грант me@localhost.Таким образом, у вас должно быть два GRANT PRIVILEGES;один для me@localhost и один для me@%.

...