Коротко — «localhost» в настройках Битрикс обычно означает, что MySQL работает на той же виртуальной машине и/или подключается через UNIX-сокет. Реального внешнего IP там может и не быть (либо это 127.0.0.1, либо внутренний адрес кластера базы), а порт по умолчанию — 3306. Но можно уточнить это изнутри сервера/СУБД. Что можно сделать у вас, имея доступ в админку Битрикс и к панели хостинга:
1) Попробовать выполнить SQL‑запросы из админки Битрикс
- SELECT @@hostname AS hostname, @@port AS port, @@socket AS socket;
- SHOW VARIABLES LIKE 'port';
- SHOW VARIABLES LIKE 'hostname';
- SHOW VARIABLES LIKE 'socket';
- SHOW VARIABLES LIKE 'bind_address';
Эти запросы покажут имя хоста, порт и путь к сокету (если подключение через сокет). Если в hostname вернётся системное имя — его можно разрешить (ping/nslookup) в IP.
2) Если вывод показывает socket (например /var/run/mysqld/mysqld.sock)
- Это означает подключение через UNIX‑сокет; внешнего IP может не быть — MySQL слушает локально. В этом случае внешний доступ по IP/порту, как правило, недоступен без настроек хоста.
3) Если SHOW VARIABLES возвращает bind_address или hostname, разрешите его в IP
- Из панели управления хостинга (или с вашей машины) выполните ping/nslookup на это имя, чтобы получить IP.
- Порт чаще всего 3306, но можно уточнить через @@port или SHOW VARIABLES.
4) Использовать phpMyAdmin (если он доступен)
- На стартовой странице phpMyAdmin обычно отображается «Server: hostname:port». Там сразу видно хост/порт и тип подключения.
5) Если у вас есть SSH (shell) доступ к серверу
- Просмотрите конфигурацию MySQL: /etc/my.cnf или /etc/mysql/my.cnf (параметр bind-address).
- Команда netstat покажет, на каких интерфейсах слушает mysqld:
- netstat -ltnp | grep mysqld (или ss -ltnp | grep mysqld)
- Если bind-address = 127.0.0.1 или сокет — база локальная.
6) Если вам нужно подключиться извне
- На shared‑хостинге обычно требуется запросить у провайдера «удалённый доступ к базе» — они дадут хост/порт или добавят ваш IP в белый список.
- Как обходной путь (и безопасный) — настройте SSH‑туннель:
- ssh -L 3307:127.0.0.1:3306 user@yourhost
- Тогда локально подключаетесь к 127.0.0.1:3307 и трафик идёт на удалённый MySQL.
- Не пытайтесь просто подставить 127.0.0.1 на своей машине — это будет localhost вашей машины, а не сервера.
7) Если запросы в админке Битрикс ограничены или запрещены
- В админке есть модуль «Управление базой» (или интерфейс SQL) — обычно он позволяет выполнять SHOW/SELECT. Если ограничения есть, используйте phpMyAdmin или панель хостинга либо SSH.
Резюме и рекомендации
- Запустите из админки или phpMyAdmin: SELECT @@hostname, @@port, @@socket; и SHOW VARIABLES LIKE 'bind_address';
- Если видите socket — база локальная, внешний IP, скорее всего, отсутствует или закрыт.
- Для внешних подключений запрашивайте у хостера данные или настройте SSH‑туннель; не открывайте базу публично без защитных мер.
Если хотите, могу: 1) дать точный SQL‑запросы для вставки в вашу админку Битрикс; 2) подсказать команды для SSH/панели хостинга (укажите, есть ли у вас SSH и phpMyAdmin).