Сузить php-sql сбой подключения к настройкам сервера? - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь подключиться к базе данных MYSQL на сервере A с сервера B. Хостинг-компания, с которой мы работаем, владеет как сервером A, так и сервером B. Это моя первая попытка подключения к внешней БД.

Я написал следующий код PHP, чтобы попытаться подключиться к базе данных MYSQL на сервере A с сервера B. Код похож на большинство других кодов, которые я использовал в Google, в отношении подключения к внешним базам данных MYSQL ..

$IPAddress_O_fServer_A = 'XXX.XX.XX.XXX';
$Server_A_DB_Pass = 'P-WORD';
$Server_A_DB_User = 'U-NAME';
$con = mysql_connect($IPAddress_Of_Server_A, $Server_A_DB_User, $Server_A_DB_Pass);

Теперь, когда этот код выполняется на сервере B, я получаю эту ошибку:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on   'XXX.XX.XX.XXX' (4) in /var/www/web12/web/dev/front-end.php on line 10
Could not connect: Can't connect to MySQL server on XXX.XX.XX.XXX' (4)

... где строка 10 - это вызов mysql_connect ().

Кто-нибудь видит что-то не так с этим кодом? Если соединение не работает, можно ли с уверенностью сказать, что должна быть проблема либо с разрешениями на внешнее соединение с серверами, либо с некоторыми другими настройками?

Спасибо!

1 Ответ

0 голосов
/ 17 января 2012

Во-первых, я посмотрю на это и убедитесь, что ваша система настроена на удаленный доступ.

Во-вторых, имя пользователя "U-NAME" на самом деле будет«U-NAME @ localhost», и для него будут настроены разрешения.Например, рассмотрим следующую инструкцию GRANT.

GRANT SELECT *
    ON foo.bar
    TO 'U-NAME'@'localhost'

Имя пользователя "U-NAME" имеет право выбирать записи из базы данных foo, панели таблиц, но это исключительно локальный доступ.Чтобы разрешить удаленный доступ, вы должны предоставить разрешения аналогично следующему.

GRANT SELECT *
    ON foo.bar
    TO 'U-NAME'@'xx.xx.xx.xx'
...