個人的小專案mysql_mgr_test開放了

jeanron100發表於2017-08-30

   之前寫了一版簡單的shell指令碼,能夠實現簡單的MySQL Group Replication環境的測試快速部署,大概就1分多鐘的時間就快速建立多個例項節點,如果要學習嚐鮮MGR的話還是推薦試試的。

   自己也手工測試過幾次,還能用。說不上高大上,但是能夠基本滿足需求,今天又抽空完善了一下,在一個全新的環境中部署了一把,還算比較順利。

    我簡單說說這個小的專案,也希望大家齊心協力,把它逐步完善起來。

     如果要實現快速部署MGR,下面是一些基本的步驟。

1. 首先需要下載MySQL軟體,配置/etc/hosts檔案,下載二進位制包都不需要什麼安裝了,直接解壓放入指定的目錄即可,比如/usr/local/mysql。目前最新的版本是官方的5.7.19
假設 10.127.1.18是伺服器的IP,那麼在/etc/hosts裡面就尤其需要注意,把它務必配置好。
比如下面的/etc/hosts的檔案內容:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.127.1.18  mysqltestdb

2. 有一個統一的配置檔案 auto.cnf ,在這個配置檔案裡配置MySQL軟體的路徑,資料檔案的路徑即可。
這些沒有固定的內容,都是根據你的需求和具體的配置來定。比如auto.cnf的內容如下:
export base_dir=/usr/local/mysql
export base_data_dir=/home/data

3. 配置節點列表,這是MGR部署關鍵的一個配置檔案了。
每個節點的配置分為4部分:節點的埠,節點的別名,節點的內部埠,節點的角色。
節點的埠是資料庫提供資料訪問的埠,節點的別名,因為是在同一臺伺服器上模擬測試,所以需要標識不同節點的名字。
節點的內部埠,這是MGR在各個節點之間的通訊埠,最後是節點的角色,如果為Y就是提供讀寫許可權,負責,只有讀許可權。
如果是單主模式,最後的標識位第一個是Y,其他都為N
24801 s1  24901 Y
24802 s2  24902 N 
24803 s3  24903 N 
24804 s4  24904 N
24805 s5  24905 N
如果是多主模式,則節點的角色都要標記為Y
24801 s1  24901 Y
24802 s2  24902 Y 
24803 s3  24903 Y 
24804 s4  24904 Y
24805 s5  24905 Y 

4. 執行指令碼init.sh 不需要輸入任何的引數。
這是最耗時的步驟,也是最核心的指令碼。


5. 使用check_node.sh 指令碼可以檢查各個節點的狀態,,輸入引數為節點別名,比如s1
   使用start_node.sh 指令碼可以啟動指定的節點,,輸入引數為節點別名,比如s1
   使用reset_node.sh 指令碼可以在節點需要重新加入叢集的時候使用,輸入引數為節點別名,比如s1
   使用stop_node.sh  指令碼可以停止指定的節點,輸入引數為節點別名,比如s1
   使用conn_node.sh  指令碼可以連線到指定的節點,輸入引數為節點別名,比如s1   
比如我要檢查節點s2的狀態,是否為oline,是否應用資料正常,可以使用check_node.sh來檢視。
sh check_node.sh s2

6. 感謝使用,有問題反饋,可以提交issue或者郵件給我jeanrock@126.com



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2144349/,如需轉載,請註明出處,否則將追究法律責任。

相關文章