Bối cảnh : Tôi có hai thiết lập máy chủ MySQL 5.1 trong bản sao hàng dựa trên hàng Master-Master (RBR) theo hướng dẫn tuyệt vời này . Tôi muốn tất cả các cơ sở dữ liệu được nhân rộng và sẽ bổ sung cơ sở dữ liệu mới thường xuyên.
Mục tiêu : Tôi muốn có thể thêm cơ sở dữ liệu mới để nhân rộng bằng cách chỉ cần thêm DB vào một trong các máy chủ; mà không phải dừng cả hai nô lệ, thay đổi các tệp cấu hình, khởi động lại máy chủ MySQL và khởi động lại nô lệ.
Câu hỏi : Từ những gì tôi đã đọc, tôi nghĩ tôi có thể làm điều này bằng cách đơn giản bỏ qua bất kỳ binlog-do-db
, binlog-ignore-db
, replicate-do-db
, và replicate-ignore-db
các thiết lập trong cấu hình của từng máy chủ, nhưng tôi không thể chắc chắn. Các tài liệu của MySQL về cách các tùy chọn sao chép mức Cơ sở dữ liệu và Bảng được đánh giá khiến tôi nghĩ rằng có thể không có cách nào để thực hiện điều này cả.
Các phần có liên quan của /etc/mysql/my.cnf
các tập tin của tôi được sao chép dưới đây. Có phải tôi đang trên đường ray bên phải không? Là những gì tôi muốn thậm chí có thể?
Thầy 1 :
[mysqld]
binlog-format = row
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = <master2_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M
Thầy 2 :
[mysqld]
binlog-format = row
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
master-host = <master1_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M