Tôi đã thiết lập hai máy chủ MySQL với bản sao Master / Slave cho cơ sở dữ liệu drupal và tôi đã xác nhận các cơ sở dữ liệu được đồng bộ hóa và sao chép.
Bây giờ tôi đang cố gắng chỉ điểm drupal cho cả hai cơ sở dữ liệu cho mục đích chuyển đổi dự phòng / dự phòng. Đó là nếu tôi cần khởi động lại máy chủ cơ sở dữ liệu chính của chúng tôi, tôi không muốn trang web của chúng tôi bị sập. (Đi chỉ đọc là chấp nhận được trong các tình huống thất bại)
Dựa vào bài viết sau . Tôi đã sửa đổi settings.php
như sau:
$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',
);
Cấu hình vẫn ổn cho đến khi tôi tắt máy chủ (dừng dịch vụ mysqld) - khi tôi làm điều đó, trang web của tôi xuất hiện:
PDOException: SQLSTATE [HY000] [2013] Mất kết nối với máy chủ MySQL khi 'đọc gói giao tiếp ban đầu', lỗi hệ thống: 111 trong drupal_is_denied () (dòng 1895 của /www/includes/bootstrap.inc). Bổ sung
PDOException: SQLSTATE [HY000] [2013] Mất kết nối với máy chủ MySQL khi 'đọc gói giao tiếp ban đầu', lỗi hệ thống: 111 trong dblog_watchdog () (dòng 141 của /www/modules/dblog/dblog.module).
Bí quyết để làm cho công việc này là gì?