Порт 3306 — MySQL (TCP)
Что такое порт 3306?
База данных MySQL
Это зарегистрированный порт (1024–49151), часто назначаемый сервисам вроде MySQL. · No formal RFC; MySQL Client/Server Protocol
Когда нужен открытый порт 3306?
Open only when an application on a different host must connect to MySQL. For single-server setups (app and database on the same machine), keep port 3306 closed externally and connect via a local socket or 127.0.0.1.
Типичные применения и ПО
- MySQL Server
- MariaDB
- Percona Server
- WordPress
- Drupal
- phpMyAdmin (backend)
- Laravel
- Django
Безопасность
Bind MySQL to 127.0.0.1 by setting bind-address in my.cnf unless remote access is explicitly needed. Never expose port 3306 to the internet. For remote access, use an SSH tunnel: ssh -L 3306:localhost:3306 user@server. Grant privileges using least-privilege principles — avoid GRANT ALL and the root account for application connections.
Безопасен ли порт 3306?
Открытый порт увеличивает поверхность атаки. Безопасность зависит от настройки MySQL.
Держите MySQL в актуальном состоянии с патчами безопасности. Требуйте надежной аутентификации и ограничьте доступ до минимально необходимых IP-адресов.
Проверьте доступность порта 3306 на любом хосте.
Открытие порта 3306
Чтобы разрешить входящие подключения к порту 3306 (MySQL), настройте брандмауэр и добавьте правило переадресации порта на маршрутизаторе на локальный IP вашего устройства.
Откройте Брандмауэр Windows Defender → Дополнительные параметры → Правила для входящих → Новое правило → Порт → TCP → Указанные локальные порты: 3306 → Разрешить подключение → Задайте имя и сохраните.
netsh advfirewall firewall add rule name="Open Port 3306" dir=in action=allow protocol=tcp localport=3306sudo ufw allow 3306/tcpsudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPTВойдите в роутер (192.168.1.1 или 192.168.0.1) → Перенаправление портов → Добавьте новое правило: Протокол TCP, Внешний порт 3306, Внутренний IP: локальный IP устройства, Внутренний порт 3306 → Сохранить.
Как закрыть порт 3306
Если MySQL не нужен, заблокируйте порт в фаерволе или роутере.
Чтобы заблокировать порт 3306 в Windows, выполните следующую команду в PowerShell или командной строке (от имени администратора):
netsh advfirewall firewall add rule name="Block Port 3306" dir=in action=block protocol=tcp localport=3306Выполните: sudo ufw deny 3306/tcpsudo iptables -A INPUT -p tcp --dport 3306 -j DROPУдалите или отключите правило проброса порта 3306.
Часто задаваемые вопросы
Для чего используется порт 3306?▾
Порт 3306 — стандартный TCP-порт для MySQL. Он используется серверами и приложениями, которым нужно принимать входящие соединения для этого сервиса. Нужен ли он открытым, зависит от того, активно ли вы запускаете сервер MySQL — в противном случае его следует держать закрытым.
Безопасно ли держать порт 3306 открытым?▾
Открытый порт 3306 расширяет поверхность атаки. Если вы не запускаете MySQL активно, закройте порт в брандмауэре и удалите правила переадресации. Если MySQL должен быть доступен, ограничьте доступ до доверенных IP и регулярно обновляйте ПО.