Debian MySQL master-master Replikasyon Onarım

Debian üzerinde MySQL master master replikasyon işlemimizi yaptık. Bir müddet zaman sonra replikasyon bozuldu. Onarım yaptığımız halde replikasyona devam etmiyor. Biraz daha derine inmemiz gerekebilir.

Bu yazımızda anlatacaklarımız master master replikasyonun yeniden düzenlenmesi ile ilgilidir.

 debian mysql master master replication 05 01 Debian MySQL master master Replikasyon Onarım

Öncelikle bir miktar kafa karışıklığı olmaması için bir noktaya değinmek gerekiyor. Biraz sonra görecemiz iki komut var. Bunlardan show master status komutu verdiğimiz makinenin bilgisi içindir. Show slave status ise diğer makinenin bilgisi içindir. Yani bu komut karşı makinedeki bilgileri ilgilendiriyor.

Show slave status bilgisini aldığımız zaman karşı makinedeki show master status komutuyla karşılaştırma yapıyoruz.

İşlemlere başlayalım.

Debian-1 sunucumuz : 192.168.2.211

Debian-2 sunucumuz : 192.168.2.212

1. Adım

Debian-1 makinemize geçelim.

 debian mysql master master replication 05 02 Debian MySQL master master Replikasyon Onarım

 mysql -u root -p komutuyla mysql içine girelim.

STOP SLAVE; ile replikasyonu durduralım.

SHOW MASTER STATUS; ile üzerinde bulunduğumuz makinedeki günlük kayıt dosyasını (mysql-bin.000003) bir yere not edelim. Position bilgisini de not edelim. Bunlar Debian-2 üzerinde bilgi girerken işimize yarayacak.

debian mysql master master replication 05 03 Debian MySQL master master Replikasyon Onarım

SHOW SLAVE STATUS\G; komutunu verelim.

Master_log_file ve Master_log_pos bilgileri debian-2 sunucusu üzerindeki log dosyalarının adı ve pozisyonunu belirtir. Bunları biraz sonra değiştireceğiz.

2. Adım

Yedek alma ve geri yükleme zamanı.

Birinci sunucudaki (debian-1) verilerin sağlam olduğunu ve güncel olduğunu varsayıyorum. İkinci sunucumuzdaki verileri tamamen silip debian-1 deki verileri yükleyelim.

debian mysql master master replication 05 11 Debian MySQL master master Replikasyon Onarım

Debian-1 üzerinden backup ile veri tabanını alıyorum. Backup işlemini farklı bir makinedeki (MySQL Administrator GUI) programı ile yapıyorum.

 debian mysql master master replication 05 12 Debian MySQL master master Replikasyon Onarım

Debian-2 üzerinde Restore işlemini gerçekleştiriyorum. Veri tabanları iki sunucuda da aynı olmuş oluyor.

 3. Adım

Debian-2 Sunucumuza geçelim.

debian mysql master master replication 05 04 Debian MySQL master master Replikasyon Onarım 

 mysql -u root -p ile mysql giriş yapalım.

STOP SLAVE; ile replikasyonu durduralım.

SHOW MASTER STATUS; ile üzerinde bulunduğumuz sunucunun log dosya adı ve pozisyon bilgisini not edelim.

debian mysql master master replication 05 05 Debian MySQL master master Replikasyon Onarım

SHOW SLAVE STATUS\G; komutunu verelim. Buradaki Slave_IO_Running ve Slave_SQL_Running sonuçları No gözüküyor. Yani bu işlemleri yapmıyor. Replikasyon yapıp yapmadığını iki sunucuda da bu komutu verdiğinizde anlayabilirsiniz. Bu iki seçenek Yes değil de No ise problem var demektir. Bu iki sonucun iki sunucuda da Yes olması gerekiyor!

Ayrıca yazının başında bahsetmiştik. Yukarıdaki Show Slave Status çıktısı ikinci (debian-2) sunucuya ait. Yani Master_Log_Files ve Master_Log_Pos satırlarının karşılıkları Debian-1 cihazımızdaki show master status komutunun karşılığındaki sonuçlarla eşit olması gerekir. Değilse bunları değiştirmeye başlayalım.

4. Adım

Debian-1 sunucumuza geçelim.

debian mysql master master replication 05 17 Debian MySQL master master Replikasyon Onarım

change master to Master_Log_File=’mysql-bin.000005′, Master_Log_Pos=1038; komutu ile Debian-2 üzerindeki log dosyalarının pozisyonlarını giriyoruz.

Yukarıdaki resimde de anlaşıldığı gibi 192.168.2.212 (debian-2) üzerindeki show master status; komutu ile aldığımız log dosyalarının ismini ve pozisyon numarasını 192.168.2.211 (debian-1) üzerinde yazdığımız komuta giriyoruz.

5. Adım

Debian-2 (192.168.2.212) makinemize geçiyoruz.

debian mysql master master replication 05 20 Debian MySQL master master Replikasyon Onarım

change master to Master_Log_File=’mysql-bin.000003′, Master_Log_Pos=1038;

komutunu giriyoruz. Buradaki log dosyalarının adları ve numaları aynı çıktı. Sizinkinde iki sunucuda da farklı olacaktır.

yine burdaki komutta girdiğimiz bilgiler diğer makinenin log ismi ve pozisyon numarası. Yani bilgileri karşılıklı teyit ettiriyoruz.

6. Adım

Sona yaklaşıyoruz.

debian mysql master master replication 05 21 Debian MySQL master master Replikasyon Onarım

Debian-1 sunucumuzda START SLAVE;

debian mysql master master replication 05 22 Debian MySQL master master Replikasyon Onarım

Debian-2 sunucumuzda START SLAVE;

komutlarını veriyoruz. Replikasyonu tekra başlatıyoruz.

SON ADIM

Replikasyon onarma işlemimiz bitti. Şimdi kontrolleri yapalım.

debian mysql master master replication 05 23 Debian MySQL master master Replikasyon Onarım

Debian-1 üzerinde Slave_IO_Running ve Slave_SQL_Running çalışıyor. Aynısını Debian-2 üzerinde de yapmamız gerekir.

debian mysql master master replication 05 24 Debian MySQL master master Replikasyon Onarım

Bu sunucumuzda da problem yok. İki değer de Yes. Bu değerlerin biri No ise veya herhangi bir sunucuda No ise replikasyon hatalıdır. Tekrar düzenleme yapılması gerekmektedir.

pixelstats trackingpixel

Benzer Yazılar

Comments

comments

1 Star2 Stars345 (No Ratings Yet)
Loading...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Scroll To Top