Ho installato due server MySQL con replica Master / Slave per il database drupal e ho confermato che i database sono sincronizzati e replicati.
Sto ora cercando di indirizzare drupal a entrambi i database essenzialmente per scopi di failover / ridondanza. Cioè se devo riavviare il nostro server di database primario non voglio che il nostro sito vada in crash. (L'andare in sola lettura è accettabile durante gli scenari di errore)
Basato sul seguente articolo . Ho modificato settings.php
come segue:
$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 configurazione va bene fino a quando non spengo il master (servizio mysqld stop) - quando lo faccio il mio sito funziona:
PDOException: SQLSTATE [HY000] [2013] Connessione persa al server MySQL durante la 'lettura del pacchetto di comunicazione iniziale', errore di sistema: 111 in drupal_is_denied () (riga 1895 di /www/includes/bootstrap.inc). addizionale
PDOException: SQLSTATE [HY000] [2013] Connessione persa al server MySQL durante la 'lettura del pacchetto di comunicazione iniziale', errore di sistema: 111 in dblog_watchdog () (riga 141 di /www/modules/dblog/dblog.module).
Qual è il trucco per farlo funzionare?