Разрешение MySQL, отклоненное от локального, но, может соединиться удаленно

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

mysql -u me -h mydomain.com -p

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

В то время как

mysql -u me -h localhost -p

Работы

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

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

mysql -u me -h mydomain.com -p

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

6
задан OMG Ponies 22 May 2011 в 23:45
поделиться

1 ответ

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

Когда вы подключаетесь с удаленного хоста (или с локального хоста через внешний IP-адрес), он будет соответствовать записи me @% (, если нет специального разрешения для конкретный хост, который вы используете!). Но когда вы подключаетесь через интерфейс обратной петли (IP-адрес localhost) или сокет, он будет использовать грант me @ localhost . Итак, у вас должно быть две ПРИВИЛЕГИИ ГРАНТА ; один для me @ localhost и один для me @% .

16
ответ дан 8 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: