如何搭建一个 MySQL 分布式集群
作者丨茶軸的青春
https://segmentfault.com/a/1190000016829266?utm_source=tag-newest
1、準備集群搭建環境
使用6臺虛擬機來搭建 MySQL分布式集群 ,相應的實驗環境與對應的MySQL節點之間的對應關系如下圖所示:
管理節點(MGM):這類節點的作用是管理MySQLCluster內的其他節點,如提供配置數據,并停止節點,運行備份等。由于這類節點負責管理其他節點的配置,應該在啟動其他節點之前啟動這類節點。MGM節點是用命令“ndb_mgmd”啟動的;
數據節點(NDB):這類節點用于保存Cluster的數據,數據節點的數目與副本的數目相關,是片段的倍數。例如,對于兩個副本,每個副本有兩個片段,那么就有4個數據節點,沒有必要設定過多的副本,在NDB中數據會盡量的保存在內存中。數據節點使用命令“ndb”啟動的;
SQL節點:這是用來訪問Cluster數據的節點,對于MySQL Cluster,客戶端節點是使用NDB Cluster存儲引擎的傳統MySQL服務器。通常,SQL節點使用命令“mysqld-ndbcluster”啟動的;
?
2、準備安裝包
在官網上下載mysql的安裝包: mysql-cluster-gpl-7.4.11-Linux-glibc2.5-x86_64.tar.gz,并進行解壓。
?
3、集群搭建流程
1]將上述安裝包解壓出來的文件都移到/usr/local/mysql下;
2]運行script目錄下的mysql-install-db.sh腳本,運行命令為./mysql-install-db.sh --user=root--basedir =/usr/local/mysql --datadir=/usr/local/mysql;注意其中用戶為root的名稱需要跟配置文件my.cnf中的相同;
在管理節點,數據節點,SQL節點上都執行上述安裝命令,從而完成對mysql的安裝;
?
4、集群配置與啟動
1]在管理節點上需要完成對于集群整體的配置配置:在/var/lib/mysql-cluster/config.ini中實現如下的配置信息:
2]在數據節點中需要在my.cnf中完成對于數據節點的相關配置信息,如下:
需要指明配置的數據節點的根目錄,數據目錄,socket連接配置,用戶配置,以及對應的管理節點的ip地址配置;將配置完成的配置文件移動到/etc/my.cnf,完成;
3]在SQL節點上完成對于SQL節點的配置信息,同樣的是在my.cnf中完成相應配置信息,并將配置文件移動到/etc/my.cnf中,相應的配置信息的設定如下所示:
完成以上配置后,就可以啟動集群中的各個節點了。
?
5、集群啟動
在啟動mysql集群的時候,注意首先要啟動管理節點,并依次啟動其他等若干個節點,相應的啟動步驟如下:
1]在管理節點上,切換到/usr/local/mysql/bin目錄下,執行ndb_mgmd -f /var/lib/mysql-cluster/config.ini命令,完成管理節點的啟動;
2]在各個數據節點上,切換到/usr/local/mysql/bin目錄下,執行ndbd --initial(第一次啟動時,否則執行ndbd即可),完成對數據節點的啟動;
3]在各個SQL節點上,同樣切換到/usr/local/mysql/bin目錄下,執行mysqld_safe --user=root完成啟動;
4]在管理節點上運行ndb_mgm命令,進入數據庫管理的客戶端,輸入show命令,查看與之相連接的各個節點的狀態;
5]在SQL節點上分別進入系統的安全狀態,并完成對root用戶的密碼修改,運行以下指令,進行密碼修改:
A use mysql,切換到mysql數據庫;
B UPDATE user SET Password = PASSWORD('123456')WHERE user = 'root';從而實現對root密碼的修改;
C flush privilege,完成修改;
6]修改使得任意主機都能連得上mysql,進行如下修改,同樣安裝第5步進入安全模式,并完成相應的修改,如下:
grant?all?on‘*.*’to?‘root@'%'?identified?by?'123456';
這樣就可以使得任意一個主機都可以通過root用戶來登錄mysql了;
?
6、集群測試
在集群上的一個SQL節點上執行創建數據庫,并創建一張表,并完成相應的數據插入,如下:
create?database?ctest;?//創建數據庫create?table?test(id?int?primarykey;?//創建一張表 );insert?into?test?(id) values(1); //完成數據插入登錄另外一個SQL節點,并執行SQL查詢操作,看數據庫中是否已經有數據,如下:
select?*?from?ctest;如果有數據,表示數據插入成功;
?
7、關閉集群
1]首先關閉管理節點和數據節點,需要在管理節點上執行命令,如下:./ndb_mgm -e shutdown;
2]然后關閉SQL節點,在SQL節點上執行命令/usr/local/mysql/support-fies/mysql.server stop(其中/usr/local/mysql/是mysql的安裝目錄).從而關閉SQL節點;
總結
以上是生活随笔為你收集整理的如何搭建一个 MySQL 分布式集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 常用命令全称,看看你 get
- 下一篇: 黄了。Google中国版搜索