фоновая цель: я хочу ограничить входящее соединение с сервером MYSQL только для определенного хоста, установив правила для входящего трафика брандмауэра Windows.
Порт сервера MYSQL открыт на 3306.
Однако, когда я открываю настройки брандмауэра, я вижу, что два порта открыты на 3306 и 33060 следующим образом:
что это такое?
Этот порт подключения используется клиентами mysql для подключения к серверу mysql. Однако, в отличие от порта 3306. Это соединение использует так называемый x-протокол. Этот порт поддерживается такими клиентами, как Mysql-Shell или Mysql-Connectors сообщества, в то время как mysqlclient и такие инструменты, как mysqldump, используют классический порт. X-протокол - это альтернативный интерфейс запросов mysql, который включает альтернативный API под названием X-DevAPI. Он позволяет вам получать доступ к данным в json, а также поддерживает SQL. Однако вы должны разрешить это в настройках вашего брандмауэра, если вы не деактивируете этот порт / протокол на своем mysql-сервере. Итак, подведем итог: x-протокол и порт 33060 необязательны и не обязательны.
Ссылка для получения общей информации о портах mysql: https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html
Ссылка на X-Protocol: https://www.percona.com/blog/2019/01/07/understanding-mysql-x-all-flavors/
Список портов, используемых MySQL, доступен здесь: https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html
Для типичного использования вам нужен только порт 3306. Проверьте файлы конфигурации сервера, чтобы узнать, какие порты он прослушивает.