Начиная с Drupal 7, они очень легко использовали его с установкой MySQL master (Read/Write) -slave (только для чтения). Предположим, что у нас есть 2 сервера MySQL, настроенные в режиме master-slave.
В settings.php, начните с основной конфигурации MySQL.
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'mysql-master-db',
'username' => 'mysql-master-username',
'password' => 'mysql-master-password',
'host' => 'mysql-master(Read + Write)-IP',
);
Теперь, ниже, добавьте следующий код для настройки ведомых устройств.
$databases['default']['slave'][] = array(
'driver' => 'mysql',
'database' => 'mysql-slave1-db',
'username' => 'mysql-slave1-user',
'password' => 'mysql-slave1-password',
'host' => 'mysql-slave1(Read-only)-IP',
);
Теперь ниже этого, если вы хотите какой-либо из выбранных запросов использовать подчиненный сервер, а затем использовать следующий синтаксис:
$query = db_select('node', 'n', array('target' => 'slave'));
Предоставляя массива («цель» => «ведомый»), запрос будет работать против одной из подчиненных баз данных. Если на одной странице есть несколько таких запросов, все они будут запускаться на одном подчиненном сервере. Если подчиненное устройство недоступно, то этот параметр будет проигнорирован и запрос будет выполняться против ведущего устройства.