Master/Master/Slave (High availability/High performance)
Last updated on
30 April 2025
You are browsing documentation for an older version of Drupal, which is not supported any longer, and the information may not be correct. See current documentation for Contributed modules
The following setup has 2 masters and 2 slaves. The two master will also be used as slaves. The setup will prefer master1 as the master, and switch to master2 if master1 fails.
<?php
$databases['default']['master1'] = array (
'database' => 'mydatabase',
'username' => 'readwrite',
'password' => 'readwrite',
'host' => 'master1',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
);
$databases['default']['master2'] = array (
'database' => 'mydatabase',
'username' => 'readwrite',
'password' => 'readwrite',
'host' => 'master2',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
);
$databases['default']['slave'][] = array (
'database' => 'mydatabase',
'username' => 'readonly',
'password' => 'readonly',
'host' => 'slave1',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
'readonly' => TRUE,
);
$databases['default']['slave'][] = array (
'database' => 'mydatabase',
'username' => 'readonly',
'password' => 'readonly',
'host' => 'slave2',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
'readonly' => TRUE,
);
$databases['default']['slave'][] = $databases['default']['master1'];
$databases['default']['slave'][] = $databases['default']['master2'];
$databases['default']['default'] = array (
'driver' => 'autoslave',
'master' => array('master1', 'master2'),
'slave' => array('slave'),
);
?>
Help improve this page
Page status: Not set
You can:
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion