İyi çalışan MySQL master-slave çoğaltma var; Çoğaltmayı kullanmak için standart prosedürü bulmak için tüm net ve MySQL sitesini araştırdım ama hiçbir şey bulamadım. Yöneticiler çoğaltma yapmaktan mutluluk duyuyorlar, fakat zamanın felaketten kurtarılması söz konusu olduğunda, hiçbir başlangıç planı uygulamaya konulmadı ve halka açık bir şekilde paylaşılmadı.
Ne bilmek istiyorum köle makine nasıl daha sonra hasarlı, yanmış, vb köle makine ustası yerine nasıl yapılır köle makine ana adresi ağ almalıdır ama başka ne yapılmalıdır? Örneğin, MySQL kullanıcı izinlerini değiştirmek veya bazı komutları çalıştırmak! Lütfen varsa referansları ekleyin.
Bir DR çözümü için büyük olasılıkla yarı manuel bir işlem istersiniz. Yani, felaketin tam bir DR yük devretme sistemini doğruladığına karar vermeniz gerekiyor ve bu sadece küçük bir ağ saptırması değil ve günlerce geri çalışma ile sıkışıp kalıyorsunuz.
MySQL slave'i master'a çevirmek için, sadece birkaç tane mysql komutu verirsiniz.
Mysql detayları bulunabilir İşte.
Tüm süreci betimlemenizi (ve test etmenizi) şiddetle tavsiye ederim ve DR yük devretme işlemini yapmak için kutuda çalıştırmak isteyebileceğiniz başka komutları ekleyin (web katmanını yeniden başlatın veya başka ne gerekiyorsa).
Kullanırız fonk Bir yönetim sunucusunda yük devretme komutlarını uygulamalarımızın tüm katmanlarını çalıştırmak için.
Felaket kurtarma başvurusu yaparken site hatası hakkında konuşuyorum. Bir kümelenme yük devretme için, işler muhtemelen otomatik ve çok daha basit olmalıdır.
MySQL sunucusunun replika ile değiştirilmesi gereken tek şey, sunucunun IP adresini değiştirmektir, MySQL'de başka komutlar gerekmez.
Daha fazla rahatlık için biraz rahatlamak istiyorsanız ve bunu otomatik olarak yapmak için aşağıdakileri yapabilirsiniz:
- Her iki MySQL sunucusunda master-master çoğaltması var, kontrol et İşte
- İlk ana sunucu tarafından kullanılacak bir Sanal IP oluşturun, bunun için kullanıcı kalp atışı (LinuxHA projesinin bir parçası) ancak tercih ettiğiniz işletim sistemini OS için kullanabilirsiniz.
- IP'nin değişmesi için parametreleri yapılandırın, bu ağ aşağı iner, diğer makine ölüyor olabilir veya sadece MySQL kapatılıyor olabilir
Bu kurulumun bir çok avantajı var, trafiği diğerine kolayca değiştirerek bir düğümde kolayca bakım yapabilir ve sorunsuz bir kurtarma sağlayabilirsiniz, hatta yataktan kalkmanıza bile gerek kalmaz :)
Her ne kadar bir öneri olsa da, Sanal IP parametreleriniz hakkında akıllı olursanız, istenen sonucu olmayan Sanal IP'yi talep etmeye çalışan her iki düğümle de sonlanabilir.
2 MySQL Slaves'e sahip olduğunuzu varsayarsak: slave 1 ve slave 2. Master'ınız kapalıysa, slave 1'i yeni bir master haline getirmeye teşvik edersiniz. İzlemek için bir prosedür öneririm:
Tüm kölelerin röle günlüğündeki ifadeleri aşağıdaki gibi işlediğinden emin olun:
mysql> STOP SLAVE IO_THREAD;
mysql> SHOW PROCESSLIST; to see `Has read all relay log` state.
köle 1'de, şu şekilde bir usta olmak için tanıtın:
mysql> STOP SLAVE;
mysql> RESET MASTER;
köle 2, ile yeni usta gelin:
mysql> CHANGE MASTER TO MASTER_HOST='slave 1';
mysql> START SLAVE;
Son olarak her müşteriye ifadelerini Slave 1'e yönlendirmesi talimatını veriyor.
http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-switch.html