drupalデータベース用にマスター/スレーブレプリケーションを備えた2つのMySQLサーバーをセットアップし、データベースが同期して複製されていることを確認しました。
私は今、基本的にフェイルオーバー/冗長性の目的で両方のデータベースをdrupalに向けようとしています。つまり、プライマリデータベースサーバーを再起動する必要がある場合、サイトを停止させたくありません。(読み取り専用にすることは、障害シナリオの間は許容されます)
次の記事に基づく。私はsettings.php
次のように変更しました:
$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',
);
マスターをシャットダウンする(mysqldサービスを停止する)まで設定は問題ありません。そうすると、サイトが起動します。
PDOException:SQLSTATE [HY000] [2013]「初期通信パケットの読み取り」でMySQLサーバーへの接続が失われました。システムエラー:drupal_is_denied()で111(/www/includes/bootstrap.incの1895行目)。追加
PDOException:SQLSTATE [HY000] [2013]「初期通信パケットの読み取り」でMySQLサーバーへの接続が失われました。システムエラー:dblog_watchdog()で111(/www/modules/dblog/dblog.moduleの行141)。
これを機能させるコツは何ですか?