2014-04-29 61 views
1

爲了從停電恢復我需要啓動加萊拉集羣系統啓動時,我只能這樣做有以下幾點:Mysql的加萊拉自動啓動在引導--wsrep全新的集羣

service mysql start --wsrep-new-cluster 

「服務mysql start「會在啓動時啓動,但會失敗,因爲它是羣集中唯一的一個。如何讓集羣從引導啓動並且不會失敗,如果它是唯一的集羣?

編輯

看來我必須離開的gcomm://空,以啓動,但彷彿另一臺服務器上線了第一則它會失敗它不是最好的解決辦法。

#galera settings 
wsrep_provider=/usr/lib/galera/libgalera_smm.so 
wsrep_cluster_name="my_wsrep_cluster" 
wsrep_cluster_address="gcomm://" 
wsrep_sst_method=rsync 
wsrep_provider_options="pc.bootstrap=true" 
+0

你有沒有解決這個問題? –

+0

是的。我使用了一個啓動腳本來停止第一個節點,然後使用--wsrep-new-cluster然後將ssh(使用證書,所以不登錄)停止到其他節點,然後按順序啓動它們。奇蹟般有效! – Soth

回答

2

我的解決方法是編輯init腳本 - 這是Debian的解決方案 - 位置我初始化腳本/etc/init.d/mysql 後來我發現這行:

/usr/bin/mysqld_safe "${@:2}" > /dev/null 2>&1 & 

和我添加參數--wsrep-new-cluster

/usr/bin/mysqld_safe --wsrep-new-cluster "${@:2}" > /dev/null 2>&1 & 

它在啓動後工作。

+0

斯坦利你好。感謝這裏的答案。你知道這是永久的還是會被升級覆蓋? –

+0

這主要取決於您的分發包系統。但即使在Debian上,也有多種升級系統的方式,我強烈建議在升級過程中考慮一下每個配置文件的修改。 – StanleyD

+0

看起來不錯,但如果帶有'--wsrep-new-cluster'的節點不是集羣中的第一個節點呢?我的意思是如果所有其他節點都很好,但只是舊的第一次重啓。 – zx1986

2

我以前經歷過這個。以下是我記錄我的同事的過程:

  • 首先,我們將確定與最新變化
    • 在每個節點的節點進入到/ var/lib中/ MySQL和檢查grastate.dat文件
    • 我們正在尋找具有最高的SeqNo的節點和UUID這還不是全部零
  • 在那拍攝的最新更改啓動集羣中的引導模式
      節點
    • 服務mysql的引導
  • 啓動畫面通過常用的啓動命令中的其他節點
    • 服務啓動mysql
  • 檢查每個節點,如果它們具有相同的DB列表
    • 的mysql -u root -p
    • show databases;
  • 上的任何節點上運行的命令檢查集羣的狀態,並確保你看到類似下面
    • wsrep_local_state_comment |同步< - 羣集同步
    • wsrep_incoming_addresses | 10.0.0.9:3306,10.0.0.11:3306,10.0.0。13:3306 < - 所有節點都提供
    • wsrep_cluster_size | 3 < - 羣集由3個節點組成
    • wsrep_ready | ON < - 好:)