
Разрешение на внешний доступ к БД уже давно реализовано почти во всех системах управления веб-сервером или хостинг-панелях. Как правило, требуется прописать IP-адрес (или несколько), с которого будет осуществляться доступ. Потребуется «белый» айпишник, эта услуга стоит копейки у любого провайдера.
Предложенный способ открытия внешнего доступа подходит больше для серверов, где нет никаких веб-интерфейсов, кроме PMA. Это могут быть и локальные серверы (LAMP, MAMP, WAMP), в которых самостоятельный интерфейс для обеспечения внешнего доступа к СУБД — большая редкость, ведь они предназначены только для разработки, но тем не менее внешний доступ может потребоваться.
Я уже немного касался этой темы в одной статье >>
Вот действенный пример. Интерфейс phpMyAdmin на вкладке изменения учетной записи пользователя cpuz_user. В поле «Хост» выбран вариант «Любой хост» со значением «%», что позволяет подключаться к базе данных удаленно с любого компьютера. В нижней части окна выбрана опция сохранения старого пользователя при копировании прав.
На скрине для пользователя cpuz_user открыт внешний доступ с любого IP-адреса.
Самый частый случай по теме — это разные программы по работе с MySQL. Все они требуют разрешения на внешний доступ. Конечно, его разумнее настраивать через SSH-туннель, функционал которого тоже почти всегда встроен в такие приложухи.
При этом важно понимать, что полноценный SSH-туннель нужен исключительно для работы с реальными удаленными серверами в интернете, например на VPS/VDS. Он выручает, когда сервер находится в чужой подсети и открывать порты базы данных наружу для всего мира небезопасно.
Настройки подключения к MySQL в PhpStorm.
Другое дело — локальные серверы, виртуалки, контейнеры Docker или базы данных в домашней локалке. Здесь городить SSH-туннели нет смысла, но поплясать с бубном все равно придется. Достучаться до базы можно только по открытому порту 3306.
Настройки подключения к MySQL в популярной программе под Windows HeidiSQL.
Важно понимать! Настройка внешнего доступа для пользователя в phpMyAdmin — это базовый шаг, который необходим в любом случае, иначе СУБД просто сбросит подключение. А вот дальнейшие действия зависят от вашей архитектуры. Если вы работаете с реальным удаленным сервером, то поверх этих настроек обязательно нужно заводить безопасный SSH-туннель. Если же речь идет о локальных системах или домашней сети, достаточно просто стучаться напрямую по открытому порту 3306.
На этом все!



