Как получить доступ к другой базе данных MySQL с другого IP-адреса с помощью PHP? - PullRequest
2 голосов
/ 16 июля 2009

Хорошо, если вы можете ответить на этот вопрос, вы заслуживаете Нобелевской премии мира. В любом случае, вот ситуация.

Я использую точечную сеть Slicehost, и у меня есть 2 среза (два разных IP). Один фрагмент - это мой почтовый сервер, а другой - мой обычный веб-сайт. Я использую Ubuntu (8.04 или 8.10, что-то в этом роде, это не должно иметь значения). Я пытаюсь получить доступ к базе данных MySQL на почтовом сервере из другого среза. Я пытаюсь сделать это с помощью PHP. Я действительно ценю любую помощь.

Ответы [ 3 ]

9 голосов
/ 16 июля 2009

mysql_connect()

$resource = mysql_connect('other-server-address.com', 'username', 'password');

Первый параметр - адрес сервера mysql.

Параметр сервера

Сервер MySQL. Это может также включать номер порта. например "имя хоста: порт" или путь к локальному сокету, например «: / path / to / socket» для локального хоста.

Если директива PHP mysql.default_host не определено (по умолчанию), тогда значение по умолчанию 'Локальный: 3306'. В безопасном режиме SQL, этот параметр игнорируется и значение 'localhost: 3306' всегда используется.

Если только я не неправильно понял ... эта установка довольно распространена. Любая проблема, с которой вы столкнулись, может быть связана с:

Некоторые другие связанные с этим вопросы:

2 голосов
/ 16 июля 2009

Предполагается, что ваш почтовый сервер имеет IP 192.168.1.20, а веб-сервер - 192.168.1.30

Прежде всего вам необходимо разрешить веб-серверу доступ к базе данных mysql на вашем почтовом сервере. 192.168.1.20 вы запускаете команду mysql и предоставляете доступ к базе данных, необходимой вашему веб-серверу

mysql>  grant all on mydb.* to 'someuser'@'192.168.1.30' identified by 'secretpass;

Ваш PHP-код подключается к этой базе данных примерно так:

$conn = mysql_connect('192.168.1.20', 'someuser', 'secretpass');
1 голос
/ 16 июля 2009

mysql_connect () возвращает идентификатор ссылки, если соединение установлено успешно. Также вам нужно сохранить ссылки на обе ссылки.

Если вы хотите использовать какую-либо ссылку, просто включите ссылку в качестве аргумента.

$link1 = mysql_connect($host1, $username1, $password1);
$link2 = mysql_connect($host2, $username2, $password2);
$r = mysql_query(QUERY, $link1);

Все просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...