Categories
Sponsors
Archive
Blogroll Badges
Community
|
MySQL Replikasyon Problemlerinin Çözümü
Posted in Windows Server | No Comment | 2,906 views | 17/02/2013 12:31
Merhaba, Herhangi bir sebepten ötürü MySQL replikasyonunuz durmuş ve devam etmiyor ise -ki bunun nedeni master’ın bin logunun crash olması ya da disk problemi nedeniyle slave’e gönderilen son logun master tarafındaki loga işlememiş olması olabilir- aşağıdaki şekilde slave’i tekrar ayağa kaldırabilirsiniz. Bu tarz problemlerde genelde replikasyon 1236 hatasını verir. Benim karşılaştığım problem ise aşağıdakiydi: Got fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from impossible position’
Slave’i tekrar ayarğa kaldırabilmek için öncelikle master’dan en son hangi pozisyonun okunduğunu öğrenmeliyiz. Bunun için slave üzerinde öncelikle:
komutu çalıştırıp, output üzerinden Relay_Master_Log_File ve Exec_Master_Log_Pos değerlerini not edin. Benim çıktımda Relay_Master_Log_File “mysql-bin.000098” olarak görünüyordu. Ayrıca Exec_Master_Log_Pos değeri ise “964685688” idi.
Sonrasında master üzerine gidin. /var/lib/mysql dizini altına girip, aşağıdaki komutu çalıştırın:
Yukardaki komut size dosyanın son satırlarını getirecektin. Bu satırlar arasında aşağıdakine benzeyen bölümü bulun: #130316 11:31:13 server id 1 end_log_pos 964685460 Query thread_id=15743115 exec_time=0 error_code=0
Yukardaki satırda, size master’dan son okunan pozisyonu verecektir. Sonrasında Slave üzerine gidin ve log file içinden bulduğunuz end_log_pos değerini kullanarak aşağıdaki komutu çalıştırın:
Sonrasında karşınıza çıkacak olan bir kaç duplicate entry’i aşağıdaki gibi geçebilirsiniz.
Bu işlemler sonrası MySQL dataları arasında tutarsızlık olabilir fakat MySQL datanız, replikasyonu baştan başlatamayacak kadar büyük ise kullanabilirsiniz. Aksi halde MySQL replikasyonunu baştan başlatmanızı her zaman tavsiye ediyorum. Kolay gelsin.
Tags: mysql last good master pos, mysql master pos, mysql replication 1236, mysql replication error, mysql slave problem
Leave a Reply
|