Подключение к нескольким базам данных на разных серверах - PullRequest
0 голосов
/ 17 мая 2018

Я хочу подключиться к localhost и удаленному серверу одновременно.Цель состоит в том, чтобы синхронизировать данные на двух серверах, так как INSERT выполняется на локальном сервере, а также на аналогичной таблице на удаленном сервере.

Удаленный сервер передается через ipaddress, давайте назовем его «12.345.678.999».

В моем файле конфигурации базы данных у меня есть что-то вроде этого:

<?php

// for local server

$DB_NAME = 'dbname1'; 
$DB_HOST = 'localhost';
$DB_USER = 'dbuser1'; 
$DB_PASS = 'dbpass1';  

$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);

if (mysqli_connect_errno()) 
{
    printf("Database connection failed: %s\n", mysqli_connect_error());
    exit();
}

// for remote server

$DB_NAME2 = 'dbname2'; 
$DB_HOST2 = '12.345.678.999';
$DB_USER2 = 'dbuser2'; 
$DB_PASS2 = 'dbpass2';


$mysqli2 = new mysqli($DB_HOST2, $DB_USER2, $DB_PASS2, $DB_NAME2);

if (mysqli_connect_errno()) {
printf("Database connection failed: %s\n", mysqli_connect_error());
exit();
}


?>

Так что у меня есть два разных объекта mysqli для использования в моих скриптахдля выполнения запросов для локального и удаленного сервера.

При загрузке локального сайта я получаю следующую ошибку:

Ошибка подключения к базе данных: php_network_getaddresses: getaddrinfo fail: Имя или служба неизвестна

Как правильно выполнить мою задачу подключения к двум серверам одновременно?

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Сообщение об ошибке указывает на невозможность найти сервер БД. Это либо означает, что IP-адрес (реальный, который вы используете для удаленного сервера) неверен, либо файлы конфигурации БД на удаленном сервере неверны. Я предполагаю, но если IP-адрес правильный, взгляните на:

remote_server://application/config/database.php

Убедитесь, что сервер указан как «localhost», а не как-то еще.

0 голосов
/ 17 мая 2018

Это выглядит неподходящим способом сделать это.Вы должны создать Replication между этими двумя серверами.

Если вы вставите данные в главный сервер, они автоматически будут отражены в подчиненном устройстве.

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