MySQL Cluster Dba.getCluster: This function is not available through a session to a standalone instance (RuntimeError) Hatası

Merhaba,

Bir gün sizinde başınıza gelebilir.

Diyelim ki 3 node dan oluşan bir innodb cluster yapımız var. Bu cluster larımız windows sunucularda çalışıyor.

Günün birinde bu sunuculara update aldınız ve makinelerinizi yeniden başlattınız.

Tatatataaaaaaaaaaaaaaaaaa..

Cluster yapınız patladı. 3 sunucudaki mysql lerin hepsi çalışıyor ama cluster patlak.

Bu durumda tüm makineler super-read-only modunda çalışacaktır.

MySQL Router da hangisinin master node olduğunu anlamadığı için database bağlantınız olmayacaktır.

Şimdi yapılacakları yazalım.

  1. Herhangi bir node dan ( MySQL sunucusundan ) Mysql Shell uygulamasını açın
  2. \js yazıp enter a basın. Bu size js ile sistemi kontrol etmeyi sağlayacaktır.
  3. var cluster = dba.rebootClusterFromCompleteOutage();  yazıp enter a basın.

Ardından size sorular sormaya başlayacaktır.

Şuradaki yazımdaki makinelerden örnek verir isek; ( Biz, 10.231.1.150, 10.231.1.151 ve 10.231.1.152  adlı üç adet makine kurmuştuk )

The instance '10.231.1.150:3306' was part of the cluster configuration.

Would you like to rejoin it to the cluster? [y/N]:

Siz buraya Yes diyeceksiniz. Ardından diğer makineler için de aynı soruyu soracaktır.

Yes deyip geçin. Şöyle bir çıktı ile son bulacak.

Disabling super_read_only mode on instance '10.231.1.151:3306'.
10.231.1.151:3306 was restored.
Rejoining '10.231.1.150:3306' to the cluster.
Rejoining '10.231.1.152:3306' to the cluster.
The cluster was successfully rebooted.

Unutmayın ki sizin kurduğunuz makinelerin adresleri farklı olacağı için sonuçlarda ufak değişiklikler olacaktır.

Ardından emin olmak için şunu yapalım.

Diğer node a ( MySQL makinesine ) girelim.

Makineye bağlanalım.

\c  root@10.231.1.52

Burada enter yaptıktan sonra size şifre soracaktır. Sizin farklı bir kullanıcınız var ise root yerine onu yazın. Ben genel olsun diye bunu yazdım.

Şifre işlemini hallettikten sonra,

var  cluster = dba.getCluster(); // Enter

cluster.status(); // Enter

Ardından size bir çıktı verecektir. Hangi node un master hangilerinin slave olduklarına dair.

Eğer bir sorun var ise ya da en baştan hata aldıysanız internetten araştırmaya devam edin.

 

Hepsi bu kadar..

 

 

 

 

 

 

 

262 Görüntülenme

Yorum Yap