MySQL удаленное соединение из UWP с ошибкой сокета, но соединение TCP

0

У меня есть небольшое приложение С# (VS 2017, UWP) на машине разработчика, которая должна кормить базу данных mysql на другой машине.

С помощью MySQL-оболочки я могу подключиться, но приложение не может (доступ к одному сокету запрещен из-за разрешений сокета для этого сокета).

Приложение отлично работает с базой данных на машине разработчика (localhost). После нескольких часов поиска в Интернете я понимаю, что удаленный доступ происходит через сокет или TCP; Кроме того, этот сокет на самом деле не вещь в Windows.

Однако в my.ini файле есть 2 места с сокетом (#socket = 0.0 и # socket = MySQL, с которым я ранее не комментировал ошибку).

У меня есть TCP-соединение, так почему же возникает ошибка сокета? Именованная труба каким-то образом похожа на Windows-эквивалент на сокет, но ограничивается локальным подключением и снова как альтернатива TCP, как я ее понимаю.

Странно то, что в статусе сервера workbench путь к файлу конфигурации показывает "... MySQL Server 5.5\my.ini", хотя сервер - 5.7, что также является реальным именем папки. Можно подумать, что файл конфигурации не найден, но почему соединение работает при использовании оболочки? Может ли оболочка установить соединение без my.ini? Это может быть ошибка?

Я переустановил MySQL, потому что думал, что есть поврежденная установка, но такой же результат. (На машине разработчика путь правильный.

Был бы очень рад, если бы кто-то мог помочь!

  • 0
    Вы можете иметь только одно соединение на ПК с тем же IP-адресом и портом назначения. Возможно, вы открываете одно и то же соединение более одного раза. Нет никаких причин, по которым MySQL-оболочка может подключаться, а ваше приложение c # не может подключаться к одному и тому же компьютеру.
  • 0
    Спасибо за подсказку! Так что это могло произойти так: я попробовал подключение к оболочке и вскоре после этого из приложения, но подключение к оболочке все еще было включено ... Я наблюдал за состоянием подключения на рабочем месте, но поскольку я новичок в MySQL и во всяком случае, на любителя, я не понял всего, что там происходит.
Показать ещё 1 комментарий
Теги:
sockets

1 ответ

0

Разъем unix предназначен для связи между процессом на одном и том же хосте. На локальном компьютере вы можете использовать сокет или TCP. Если вы хотите удаленное соединение, то это TCP.

  • 0
    Хорошо, но почему есть ошибка разрешения сокета, когда это - соединение TCP и машина Windows?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню