2009-03-14 2 views
2

ПроблемаПользователи не могут удаленно подключаться к MySQL

пользователей из других IP-адресов на (Windows XP) LAN неожиданно не может подключиться к локальному серверу MySQL.

фон

Я настроил MySQL на локальном компьютере Windows, так, чтобы другие компьютеры в сети имеют доступ к корневой учетной записи. Я добавил каждый IP-адрес в качестве хоста для root. До нескольких недель назад все работало безупречно, и я мог программно подключиться к серверу и использовать различные инструменты администрирования MySQL. Теперь, однако, сервер MySQL просто отказывается от соединений с этими IP-адресами, и я не могу понять, почему.

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

MySQL Error number 1045 Access denied for user 'root'@'shop' (using passwords: YES)

нечетная часть является то, что имя компьютера, «магазин», используется вместо IP. Я не знаю почему.

ответ

1

Первое, что появляется в виду, - это брандмауэр Windows, который может быть включен повторно, если вы заменили сетевые адаптеры на главном компьютере.

Следующим моим предложением было бы использовать сниффер, например Wireshark, на главном компьютере и посмотреть, что именно происходит с пакетом. Вы можете использовать фильтры, чтобы уменьшить выход - они очень просты и удобны в использовании. Этот инструмент избавил меня от бесчисленных часов отладки.

-EDIT-

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

+0

Брандмауэр Windows не включен. Я использую другой программный брандмауэр, но это полностью отключено. Спасибо за предложение Wireshark. Я чувствую, что мне нужно добавить, что клиенты могут подключаться к серверу, но этот доступ им запрещен. – AquinasTub

+0

Вы, мы сорта права! Я уже добавил имя каждого компьютера в качестве хоста, но записал их в верхнем регистре вместо правильной заглавной буквы - думал, что mysql обрабатывает имена хостов без учета регистра. – AquinasTub

0

Могли бы вы отключить TCP-соединения в MySQL?

Кроме того, открыт ли порт MySQL в вашем брандмауэре?

+0

Выключено соединения TCP? Я не помню касание настроек, связанных с этим. Сообщение открыто, но я даже отключил брандмауэр на сервере MySQL. – AquinasTub

2

Как-то IP-адреса, похоже, теперь разрешены и используются имена хостов. Предоставили ли вы доступ к корневому магазину? Вы скрывали привилегии?

+0

Да, я добавил имена и IP-адреса для каждого компьютера. Но я не покраснел. Спасибо за совет! – AquinasTub

+0

Это было больше, чем подсказка. Это был ответ :) –

0

Если вы изменили IP (? DHCP), убедитесь, чтобы исправить ее в my.cnf, если связанный туздЫ к локальной сети IP:

[mysqld] 
... 
bind-address=192.168.x.y 
Смежные вопросы