Назад | Перейти на главную страницу

Порты брандмауэра Mysql Server для Windows XP

У нас есть машина Windows Server 2003 с установленным MySQL и клиентская машина Windows XP. На клиентской машине у нас есть приложение C ++. Брандмауэр Windows активен на обеих машинах.

Мы открыли порт 3306 на клиентской и серверной машинах для подключения к базе данных. Когда мы хотим проверить подключение к базе данных из приложения C ++, сервер отвечает очень медленно. Мы погуглили об этом, и на форумах MySQL кто-то сказал, что когда он открывает оба порта 3306 и 65000 на клиентской машине, в аналогичной ситуации сервер реагирует быстро.

Но никто не подтверждает, что порт 65000 надо открывать. Мы протестировали порт 65000, и наш сервер начал быстро отвечать.

Что нам делать в этой ситуации? Любая помощь будет оценена по достоинству.

Не уверен, что это ответ, но это длинновато для комментария.

Стоит иметь в виду, что связь между клиентом и сервером может происходить через разные порты на каждом конце. Например, когда client.example.com подключается к server.example.com через порт 3306, он может сделать это с любого номера порта, например 65000.

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

Согласно википедии, 3306 находится в диапазоне зарегистрированных портов. «Динамический» диапазон портов составляет от 49152 до 65535. Возможно, клиент отлично использует исходящий трафик 3306, но инициирует несколько сеансов TCP (например, управление и данные) и не имеет свободных портов для использования.

Работает ли, если открыть другой порт в динамическом диапазоне? Я бы порекомендовал настроить брандмауэр клиента, чтобы разрешить исходящие подключения на любом порту к этому конкретному IP-адресу и ограничить только серверную часть.

Я также предлагаю изучить вывод netstat -an на сервере с открытым и закрытым клиентским портом и посмотрите, какие сеансы появляются в каждом случае.