2009-10-16 28 views

Trả lời

10

Sao chép đa chủ (một nô lệ có nhiều hơn một cái) không được hỗ trợ bởi MySQL (ngoài MySQL Cluster). Bạn có thể làm một bản sao tổng thể của bản sao vòng tròn (được mô tả here hoặc here).

Trong High performance MySQL 2nd edition các tác giả mô tả một cách để bắt chước sao chép đa chủ sử dụng một sự kết hợp thông minh của nhân lên master-master và động cơ Blackhole lưu trữ (Chương 8 Replication> Replication Topo> Tuỳ chỉnh Replication Solutions> Thi đua sao chép đa chủ p 373 - 375.) .

Họ hiển thị hai có thể cấu trúc liên kết:

Sử dụng hai đồng chủ (cho phép để chuyển đổi các bậc thầy của các nô lệ từ Master 1 để Thạc sĩ 2)

  • Master 1 : máy chủ DB1 và sao chép DB2 từ Chủ 2; công cụ lưu trữ cho tất cả các bảng trong DB2 được đổi thành Blackhole để dữ liệu không được lưu trữ hiệu quả trên Bản gốc 1.
  • Master 2: host DB2 và tái tạo DB1 từ Master 1; các công cụ lưu trữ cho tất cả các bảng trong DB1 được thay đổi để Blackhole để các dữ liệu không được lưu trữ một cách hiệu quả trên Master 2
  • Slave 1: tái tạo DB1DB2 từ một trong hai Master 1 hoặc Master 2 (cho phép chuyển đổi thạc sĩ); kết quả là Slave 1 sao chép cả hai cơ sở dữ liệu được lưu trữ hiệu quả trên hai thạc sĩ khác nhau.

Sử dụng một bậc thầy chuỗi

  • Thạc sĩ 1: chỉ host DB1
  • Master 2: host DB2 và tái tạo DB1 từ Master 1; các công cụ lưu trữ cho tất cả các bảng trong DB1 được thay đổi để Blackhole để các dữ liệu không được lưu trữ một cách hiệu quả trên Master 2
  • Slave 1: tái tạo DB1DB2 từ Master 2; kết quả là Slave 1 sao chép cả hai cơ sở dữ liệu được lưu trữ hiệu quả trên hai thạc sĩ khác nhau.

Xin lưu ý rằng thiết lập này chỉ cho phép bạn gửi tin cập nhật đến DB1 qua Master 1 và cập nhật DB2 để Master 2. Bạn không thể gửi các bản cập nhật cho một trong hai bảng đến các thạc sĩ tùy ý. Pnaps có thể kết hợp giải pháp được mô tả với bản hack cho bản sao chính của chủ nhân thực sự (cho phép cập nhật cho cả hai chủ nhân) sử dụng một số loại xâu chuỗi tự động và được mô tả here hoặc here.

0

Không có cách nào tôi biết. Tuy nhiên, nếu yêu cầu ở đây chỉ đơn giản là có một máy sao lưu dựa trên nhân rộng, bạn có thể dễ dàng chạy ba máy chủ MySQL (trên các địa chỉ và/hoặc cổng khác nhau) - chúng ta làm điều đó ở đây, với hai vòng sao chép mỗi máy chủ dàn dựng trong nhà của chúng tôi là một nút.

Ý tưởng ngoài ý tưởng, nếu bạn thực sự muốn tất cả dữ liệu vào một máy chủ duy nhất và lược đồ bảng được cố định hoặc khá tĩnh và dưới sự kiểm soát của bạn: thiết lập một máy chủ với ba cơ sở dữ liệu và liên kết tất cả các bảng bằng cách sử dụng công cụ liên kết. Về lý thuyết (báo trước lớn: tôi chưa bao giờ thử nó!), Sau đó bạn có thể sao chép các bảng được liên kết đó sang máy chủ thứ hai (một lần nữa, có thể trên cùng một máy), cung cấp cho bạn bản sao trực tiếp chính xác của dữ liệu trên một MySQL duy nhất ví dụ. Bạn thậm chí có thể thử lặp lại một lần nữa, nhưng cách đó có thể nằm điên khùng :)

0

Tôi không biết nhiều về MySQL, nhưng bạn không có khả năng đặt cấu hình sao chép 'chỉ tải lên', trong đó vai trò của chủ/nhà xuất bản chỉ để thu thập thông tin cập nhật được thực hiện tại người đăng ký/người đăng ký cấp độ.

0

Có thể đáng xem tại maatkit's table sync - không phải là bản sao "thực" nhưng có thể đủ tốt.

Các vấn đề liên quan