MySQL bağımlısı aynı anda master olabilir mi?


17

2 DB sunucusunu (Master ve Slave) iki yeni DB Sunucusuna (Master ve Slave) geçirme sürecindeyim

DB1 - Master (üretim)

DB2 - Slave (üretim)

DB3 - Yeni Master

DB4 - Yeni Köle

Şu anda çoğaltma olarak ayarladım:

DB1 -> DB2
DB3 -> DB4

Üretim verilerini yeni sunuculara çoğaltmak için, "papatya dizimi" almak istiyorum, böylece şöyle görünür:

DB1 -> DB2 -> DB3 -> DB4

Mümkün mü? Ben show master status;DB2 (üretim köle) üzerinde çalıştırdığınızda binlog bulundurma asla değişiyor gibi görünüyor:

+ ------------------ + ---------- + -------------- + ---- -------------- +
| Dosya | Pozisyon | Binlog_Do_DB | Binlog_Ignore_DB |
+ ------------------ + ---------- + -------------- + ---- -------------- +
| mysql-bin.000020 | 98 | | |
+ ------------------ + ---------- + -------------- + ---- -------------- +

Neden binlog pozisyonu DB2 üzerinde değişmiyor biraz kafam karıştı, İdeal olarak DB3 için ana olacak.

Yanıtlar:



9

Evet, mümkün :) Buna "Röle Slave ile Master" çoğaltma denir ve bu konuda net birçok belge var.

Buradaki resmi belgelere göz atmanızı tavsiye ederim .

Btw, bu slaytlara da bir göz atın . Çoğaltma topolojileri hakkında bazı ipuçları var.

Bu yardımcı olur umarım.


3

evet - mysql sunucularını papatya dizimi yapabilir, hatta iki veya daha fazla makine ile dairesel bir çoğaltma bile yapabilirsiniz . sadece efendi olarak da çalışan köle üzerinde binlog'u etkinleştirmeyi unutmayın.


1
Dairesel çoğaltma inanılmaz derecede kırılgandır. Çoğu durumda kötü tavsiye edilir.
Warner

@Warner - bu sadece daha karmaşık çoğaltma kurulumunun bir örneğiydi.
pQd

Arkadaşlar arkadaş papatya zinciri mysql sunucularına izin vermez.
sjas

Bunu yapmak ve zinciri kırmanın potansiyel sonuçlarını anlamak için çok özel bir nedenleri yoksa.
pQd

Üzgünüm, ama hala hayır.
sjas

0

Evet mümkün. Gerçekçi olarak, DB3'ü oluşturmak için yeni bir DB2 anlık görüntüsüne ihtiyacınız vardır. Bu noktada, iyi bir pozisyonunuz varsa, DB4 için olanı kullanabilir veya DB3'ün başka bir anlık görüntüsünü alabilirsiniz.

server_idHer sunucu için benzersiz ayar yapmayı unutmayın .

Yüksek Performanslı MySQL , daha gelişmiş MySQL yönetimine başvurmak için harika bir kitaptır.


DB2 şu anda sadece bir köle, ancak binlog konumu değişmiyor ... Bunun normal olup olmadığını biliyor musunuz?
mmattax

Slave (DB2) master ile güncel, ancak binlog pozisyonu değişmiyor, ne kontrol etmeliyim?
mmattax

Evet, DB1'deki verileri değiştirebileceğimi ve DB2'ye çoğaltıldığını doğruladım, ancak DB2'nin binlog konumu aynı.
mmattax

DB @ köle güncellemelerini günlüğe kaydetmediğini düşünüyorum, bu yüzden konum neden değişmiyor: dev.mysql.com/doc/refman/5.1/en/…
mmattax

0

Neden DB3'ü yeni bir köle olarak eklemiyorsunuz ve daha sonra geçiş yapmaya hazır olduğunuzda onu ustalaşmak için teşvik etmiyorsunuz? Bu, birden fazla köleye sahip olmanın geçici avantajını sağlar ve duruş sürenizi azaltır veya ortadan kaldırır.


tam olarak bunu yapıyorum ...
mmattax
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.