日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何搭建一个 MySQL 分布式集群

發布時間:2025/3/21 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何搭建一个 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 分布式集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。