He configurado dos servidores MySQL con replicación Master / Slave para la base de datos drupal y he confirmado que las bases de datos están sincronizadas y replicadas.
Ahora estoy tratando de apuntar drupal a ambas bases de datos básicamente para fines de failover / redundancia. Es decir, si necesito reiniciar nuestro servidor de base de datos principal, no quiero que nuestro sitio se caiga. (Ir a solo lectura es aceptable durante situaciones de falla)
Basado en el siguiente artículo . He modificado de la settings.php
siguiente manera:
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'sdrupal',
'username' => 'drupal',
'password' => 'topsecret',
'host' => 'masterdb.ptp.local',
);
$databases['default']['slave'][] = array(
'driver' => 'mysql',
'database' => 'sdrupal',
'username' => 'drupal',
'password' => 'topsecret',
'host' => 'slavedb.ptp.local',
);
La configuración está bien hasta que apago el master (service mysqld stop) - cuando hago eso, mi sitio vomita:
PDOException: SQLSTATE [HY000] [2013] Se perdió la conexión con el servidor MySQL en 'lectura del paquete de comunicación inicial', error del sistema: 111 en drupal_is_denied () (línea 1895 de /www/includes/bootstrap.inc). Adicional
PDOException: SQLSTATE [HY000] [2013] Se perdió la conexión con el servidor MySQL en 'lectura del paquete de comunicación inicial', error del sistema: 111 en dblog_watchdog () (línea 141 de /www/modules/dblog/dblog.module).
¿Cuál es el truco para hacer que esto funcione?