Как MySQL определяет хост клиента при удаленном подключении? - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь установить соединение с сервером MySQL на удаленном хосте. Обе машины работают под управлением RH 7.5 и MySQL 5.7.

Я могу подключиться к серверу как пользователь root. Я сделал это и использовал его, чтобы настроить вторичного пользователя следующим образом:

CREATE USER 'foo'@'client-ip-address' identified by 'my-password';

, а затем

GRANT ALL PRIVILEGES ON my-db.* to 'foo'@'client-ip-addres';

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

$ mysql -u foo -h server-ip-address -pmy-password my-db
Access denied for user 'foo'@'some-hostname-not-an-ip.com' (using password: YES)

Я знаю IP-адрес клиента (к которому я подключаюсь из ), поэтому я настроил пользователя с этим значением в столбце «хост» на сервере. Но клиент, очевидно, пытается установить соединение, используя значение для «хоста», которое не является IP-адресом. Вместо этого это какое-то имя хоста, а не IP-адрес.

Откуда берется это значение? Как mysql определяет свой собственный хост, когда он пытается подключиться к удаленному серверу? В прошлом я видел только, чтобы он использовал собственный IP-адрес машины.

...