Ошибка подключения к удаленному серверу MySQL [ОШИБКА 1042 (HY000): не удается получить имя хоста для вашего адреса]
У меня есть MySQL 5.5 Server setup на машине с 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 5.5
- ОС: Windows XP
3 ответа
Я считаю, что это связано с тем, что MySQL пытается установить DNS-имя, связанное с вашим IP-адресом при подключении. Смотрите здесь для получения дополнительной информации на сайте MySQL.
У вас есть два варианта:
1) Исправьте обратный DNS подключенного компьютера. Поскольку вы уже добавили компьютер в файл hosts, это может быть ненужным. Вы также должны выполнить оператор FLUSH HOSTS на сервере MySQL. Смотрите ту же ссылку выше для получения дополнительной информации об этом.
2) Запустите MySQL с опцией "--skip-name-resol". Однако, если вы сделаете это, вы не сможете использовать 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 работало для меня.