2016-11-03 4 views
3

У меня есть сервер MySql 5.7, работающий как служба на одном компьютере локальной сети.Не удается подключиться к mySql с компьютера локальной сети

Мое приложение установлено и работает нормально на одном компьютере. У меня есть «Shared with all» для каталога, в котором находится мое приложение. В том же каталоге я поставил файлы libmysql.dll и FDConnectionDefs.ini.

Мое приложение отлично работает на этом компьютере. На других компьютерах в локальной сети я создал ссылку на каталог, в котором мое приложение является общим. Когда я пытаюсь запустить мое приложение из этих систем LAN они производят сообщение об ошибке

[FireDac] [Phys] [MySql] не может подключиться к серверу 127.0.0.1 MYSQL порт 3306 ... (10061) ,

Все машины работают под управлением Windows 10 на 64-разрядных процессорах.

Вот то, что я пытался решить эту проблему:

  • убедитесь, что пользователь, пароль и хост (%) одинаковы в MYSQL профиля и FDConnectionDefs.ini.
  • Я пробовал с разными пользователями даже с помощью root, я попытался сменить хост (%), чтобы поместить IP-адрес компьютера, пытающегося подключиться в профиле mySql.
  • Я уверен, что у меня есть права для запуска моего приложения и mySql и что порт 3306 открыт в брандмауэре/Kaspersky на каждом компьютере локальной сети. Но всегда такой же сообщение об ошибке.
+0

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

+0

Является ли ваш IP-адрес локальной сети фактически 192.0.0.1? Если вы не являетесь интернет-провайдером, вы не должны использовать этот адрес в частной сети. –

+0

Oupps! Я имею в виду 127.0.0.1 на порту 3306. –

ответ

3

127.0.0.1 is a special IP address - адрес петли, который обычно разрешен для localhost на большинстве систем. Это частный внутренний IP-адрес, который компьютер может использовать для обозначения самого себя. Он не имеет никакого значения для других систем в локальной сети, поскольку каждый компьютер распознает 127.0.0.1 как значение самого себя.

Это означает, что при запуске приложения на удаленной системе он будет пытаться подключиться к серверу MySQL, работающему локально, а не на другом сервере.

Вам необходимо настроить компоненты FireDac для подключения к реальному IP-адресу локальной сети, принадлежащему системе, на которой размещен сервер MySQL. Возможно, вам также понадобится убедиться, что ваши пользователи MySQL настроены на аутентификацию с IP-адреса, отличного от localhost.

+0

Очень интересно и очень ясно! Я собираюсь проверить это завтра. Я вернусь! –

+0

Привет, я только что попробовал решение, но сообщение об ошибке немного изменилось: [FireDac] [Phys] [mySql] не может подключиться к серверу mySql 67.70.76.128 на порт 3306 ... (10060). –

+0

Я изменил IP-адрес в файле FDConnectionDefs.ini с тем же результатом. Я изменил поле Host в профиле пользователя MySql (% -> IP-адрес) с тем же результатом. То, что я наблюдал, - это тот же IP-адрес, что и у компьютера. У меня есть IP-адрес с «Whatismyip.com» на каждом компьютере. –

Смежные вопросы