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、準備安裝包
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中實現如下的配置資訊:
需要指明配置的資料節點的根目錄,資料目錄,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節點上執行建立資料庫,並建立一張表,並完成相應的資料插入,如下:
a create database ctest; //建立資料庫
b create table test(
id int primarykey; //建立一張表
c 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分布式集群搭建
1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群,相應的實驗環境與對應的mysql節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlcluster內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...
MySQL分布式集群搭建
mysql分布式集群搭建 標籤 分布式架構,框架類,mysql 發布於 2017 08 25 15 11 29 1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群 相應的實驗環境與對應的mysql 節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlclust...
mysql分布式事務
儲引擎實現事務的通用方式是基於 redo log 和 undo log。簡單來說,redo log 記錄事務修改後的資料,undo log 記錄事務前的原始資料。所以當乙個事務執行時實際發生過程簡化描述如下 先記錄 undo redo log,確保日誌刷到磁碟上持久儲存。更新資料記錄,快取操作並非同...