Чтобы запретить MySQL разрешать только локальные соединения, вы можете использовать различные методы. Вот несколько подходов:
-
Привязка MySQL к IP-адресу локального хоста. В файле конфигурации MySQL (обычно my.cnf или mysql.cnf) найдите параметр «bind-address» и установите для него IP-адрес интерфейс обратной связи (обычно 127.0.0.1 или ::1). Эта конфигурация гарантирует, что MySQL прослушивает только соединения, исходящие с локального компьютера.
-
Настройте брандмауэр: настройте правило брандмауэра, чтобы блокировать внешний доступ к порту MySQL (по умолчанию — 3306). Это можно сделать с помощью таких инструментов, как iptables в Linux или брандмауэр Windows в Windows. Блокируя входящие соединения с внешних IP-адресов, вы ограничиваете MySQL только локальными соединениями.
-
Предоставление привилегий локальным пользователям: создайте учетные записи пользователей MySQL и предоставьте им привилегии доступа, но ограничьте область этих привилегий локальным компьютером. Например, вы можете создать пользователя с именем «myuser» и указать хост как «localhost» или «127.0.0.1» при предоставлении привилегий.
-
Отключить сетевые интерфейсы. Если на вашем сервере имеется несколько сетевых интерфейсов, вы можете отключить те, которые используются для внешних подключений. Это гарантирует, что MySQL принимает соединения только через оставшийся активный сетевой интерфейс, которым обычно является интерфейс обратной связи.
-
Использовать соединения на основе сокетов: настройте MySQL для использования файлов сокетов Unix для локальных соединений вместо TCP/IP. Это полностью исключает возможность удаленных подключений. Вы можете указать путь к файлу сокета в файле конфигурации MySQL или использовать опцию «–socket» при запуске сервера MySQL.