#php #mysql
#php #mysql
Вопрос:
Я пытаюсь сделать siteA.com для подключения к базе данных siteB.com.Однако у меня истекает время ожидания подключения.Я уже добавил siteA.com в качестве «узлов удаленного доступа к базе данных» в cpanel используется siteB.com но по-прежнему безуспешно.
SiteA и SiteB находятся на 2 разных хостах, и в случае, если я размещаю оба на одном хосте, они работают просто отлично.
P.S я использую php PDO для настройки соединения
Вот мои настройки подключения к mysql для SiteA
<?php
$hostname = "ipaddressofSiteB";
$db_name = "mybigdb";
$db_user = "harry";
$db_pass = "fcr2^WKamp;M";
?>
Комментарии:
1. Возможно, хост защищен брандмауэром. Проверьте, открыт ли порт.
2. разрешены ли внешние подключения к SiteA с SiteB и имеет ли указанный IP-адрес также часть порта? обычно 3306 ie: ipaddressofSiteB::3306
Ответ №1:
Попробуйте проверить:
- Брандмауэр. Убедитесь, что siteB.com настроен на прием входящих подключений к порту 3306.
- Конфигурация MySQL. Специально
bind-address
в конфигурации MySQL на siteB.com (в большинстве случаев находится в/etc/my.cnf
или/etc/mysql/my.cnf
), потому что, еслиbind-address
установлено значение127.0.0.1
, будут приниматься только локальные подключения.
Кстати, вы можете выполнить более быстрое / простое тестирование соединения с помощью telnet
:
user@pc:~$ telnet siteB.com 3306
Ответ №2:
Мой веб-хостинг заблокировал удаленное подключение к mysql
Пришлось связаться с ними по ip сайта и порту (3306), чтобы они разблокировали исходящие соединения