У меня установлен 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 помогло мне.