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

Ошибка при подключении к удаленному серверу MySQL [ERROR 1042 (HY000): Can't get hostname for your address]

У меня установлен MySQL 5.5 Server на машине с Windows.

Я могу подключиться к серверу из консоли / приложения, запущенного на том же компьютере, но не с удаленного компьютера. При подключении используйте следующую команду:

mysql -h xx.xx.xx.xx --port=3306 -u root -p

Я получаю следующую ошибку:

ОШИБКА 1042 (HY000): не удается получить имя хоста для вашего адреса.

Я попытался ввести IP-адрес клиента в серверный %windir%\system32\drivers\etc\hosts файл как:

<client-ip>  <client-hostname>

Я считаю, что это связано с тем, что MySQL пытается установить DNS-имя, связанное с вашим IP-адресом при подключении. Посмотреть здесь для получения дополнительной информации на сайте MySQL.

У вас есть два варианта:

1) Исправьте обратный DNS подключенной машины. Поскольку вы уже добавили компьютер в файл hosts, в этом может быть нет необходимости. Вы также должны выполнить инструкцию FLUSH HOSTS на сервере MySQL. См. Ту же ссылку выше для получения дополнительной информации об этом.

2) Запустите MySQL с параметром --skip-name-resolve. Однако, если вы сделаете это, вы не сможете использовать имена DNS в операторах GRANT. Вместо этого вы будете ограничены использованием IP-адресов.

2.1) или вставьте my.ini :

[mysqld]
skip-name-resolve

Я бы порекомендовал (1), если можете.

Надеюсь это поможет.

Кажется, это сообщил об ошибке в MySQL версии 5.5. Это было решено с помощью следующей опции в разделе [server] my.ini файл

skip-name-resolve

Это отключает Поиск DNS с помощью MySQL для подключения сверстников.

Единственное, что нужно иметь в виду:

... в этом случае вы можете использовать только IP-адреса в таблицах предоставления MySQL.

У меня была такая же проблема, но в Windows 7. Отключение брандмауэра Windows помогло мне.