Недели три назад мне потребовалось установить удалённое соединение с MySQL через Wi-Fi. Ничего сногсшибательного. Имеем проводную сеть и роутер, работающий с Wi-Fi. Ноутбук настроен, адреса выделены, всё в пределах одной подсети. Но, соединение не устанавливалось: «Error 1042 can't get hostname for your address». Очень интересно! Тем более, что связь делалась не по имени сервера, а прямо – по его IP-адресу.
Времени не было, но был Интернет. Вроде бы это не должно быть связано с DNS, но большинство склонялось именно к этому. Давайте проверим:
telnet 192.168.167.1 3306 , где:
192.168.167.1 – IP-адрес моего MySQL-сервера (у Вас он может другой)
3306 – порт (у Вас он тоже может быть другим)
Если вы получаете ответ не мгновенно (как у меня), то у Вас, возможно, схожая проблема. Проблема с DNS: неверные настройки, задержки обработки и т.д. Разбираться можно, но если нет времени – можно поступить радикально, разрубив «гордиев узел», просто отключив в MySQL обработку имён. Для этого в файле «my.ini» (или в другом Вашем действующем настроечном файле, например в «my.cfg») в секции «[mysqld]» добавить строку «
skip-name-resolve». Это приведёт к запрету использования имён хостов при соединении.
Перезагружаем. Отлично! У меня заработало, а у Вас? Надеюсь, тоже. :))
Что ещё можно добавить? Одни очень рекомендуют использовать эту настройку всегда и везде, другие – отправляют исправлять DNS. Одни обещают 1000%-ое ускорение, другие – скромнее. Конечно, всё в руках администраторов. Как настроят, так и будет. Потому, обычно эту настройку не использую, но иногда выручает.
Удачи!
Карандаш.
Комментарии
Thanks very much for the
Thanks very much for the professional and result oriented guide. I won't hesitate to suggest your web blog to anyone who ought to have support about this issue.