準備
簡單說
- Mysql Cluster,大家都明白是 Mysql 數據庫的一種高可用解決方案,是爲了解決單點機器故障後,不能繼續爲我們的應用提供數據庫支持的問題而產生的。
- 那麼,Mysql Cluster 本身能做什麼?不能做什麼呢?
- 能,橫向擴展增加單點 Mysql 數據庫,保證整個集羣無論時候,只要有一臺機器活着,就能說是這個集羣在對外輸出數據。
- 不能,負載均衡,故障轉移
- 而官方說的,負載均衡、故障轉移相關都是與Mysql Router或者Mysql 的 java-connector.jar 結合起來實現的。
查資料
- 我是按照參考裏的MySQL Cluster搭建與測試進行搭建的。VMware 我選的10,比較穩定。系統選的Linux,用的Centos7,建議使用參考裏的阿里巴巴鏡像庫去下載,比較快。
動手做
- 需要先安裝兩個依賴
- DBI
yum install vim perl perl-Data-Dumper perl-DBI epel-release net-tools
- MethodMaker ,如果安裝失敗的話,直接下載RPM包離線安裝即可
yum install perl-Class-MethodMaker
- Mysql Cluster SQL Server Node
- 按照順序安裝各個rpm包, common -> libs -> client -> server
- Mysql Cluster SQL NDB Node
- Mysql Cluster SQL MGM Node
坑
- 在開始安裝rpm包的時候,比如common包,也許會遇到衝突的情況,需要解決下
[root@SQL-Node-1 src]# rpm -i --test mysql-cluster-community-common-7.6.9-1.el7.x86_64.rpm
警告:mysql-cluster-community-common-7.6.9-1.el7.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
file /usr/share/mysql/czech/errmsg.sys from install of mysql-cluster-community-common-7.6.9-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.60-1.el7_5.x86_64
file /usr/share/mysql/danish/errmsg.sys from install of mysql-cluster-community-common-7.6.9-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.60-1.el7_5.x86_64
... [這裏省略好多]
此時可以使用,將衝突的包刪除,再執行安裝
[root@SQL-Node-1 src]# yum -y remove mariadb-libs-1:5.5.60-1.el7_5.x86_64