MySQL cluster集群 NDB集群學習

2021-09-19 14:18:16 字數 2369 閱讀 4962

公司主業務用的mysql集群是官方自帶的mysql cluster,mysql自帶的集群模式,這個集群的模式和mgr、pxc、主從 有點不一樣。

一、儲存引擎不是innodb,mysql cluster用的是ndb引擎

二、資料儲存方式不同,mysql的其他集群方式資料是存在磁碟上的,中間資料的快取用rely log紀錄,之後持久化的寫入要硬碟

而mysql cluster集群的資料是儲存在記憶體裡面的,沒有寫錯,資料儲存是在記憶體裡,這表示如果機器dowm掉了,資料就會丟失,所以目前我們採用的方式每天全備一次作為增量處理

三、mysql cluster資料各個節點不一定相同,首先這種集群模式是:sql管理節點+資料儲存節點  模式,簡單的來說,需要乙個伺服器單獨搭建乙個mysql作為管理作用,不儲存任何資料,需要另乙個伺服器作為資料儲存作用,不管前端的sql,所有的呼叫資料庫操作,介面都是面向mysql cluster的管理節點,最後資料儲存通過管理節點在給到資料節點。

所以當有多個資料節點時,管理節點有分組管理配置可選,一般來說乙個組會有兩到三颱作為相同資料的機器(稱為副本),

每個組的副本之間的資料是強一致性的,所以掛掉乙個副本不會對該組造成資料影響,而不同組的資料可能是不一樣的。不像pxc、mgr各個節點資料一致。

mysql cluster集群允許乙個組(group)裡面的副本只要有乙個存活,便能繼續使用,若是乙個group中的所有副本全掛掉,即相當於掛掉了乙個group,則整個集群全部down掉不可用,所以最好就是配2-3個副本保證單副本掛掉不會影響集群。

昨天測試機掛了,然後老闆就說測試機好像不太行了,先把mysql和oracle備份一下吧,所以今天就開始動手備份ndb資料。(注意ndb引擎只有mysql cluster在用,所以談到ndb一般指的就是mysql cluster)

ndb的備份用自帶的命令就可以了,在管理節點的機器上直接打shell命令進入管理介面,命令是:

ndb_mgm
進入管理介面後,檢視有哪些資料節點:

[root@db214 ~]# ndb_mgm

-- ndb cluster -- management client --

--檢視管理節點

ndb_mgm> show

connected to management server at: 192.168.1.213:1186

cluster configuration

---------------------

[ndbd(ndb)] 1 node(s)

id=21 @192.168.1.100 (mysql-5.6.28 ndb-7.4.10, nodegroup: 0, *)

[ndb_mgmd(mgm)] 1 node(s)

id=1 @192.168.1.213 (mysql-5.6.28 ndb-7.4.10)

[mysqld(api)] 7 node(s)

id=41 @192.168.1.213 (mysql-5.6.28 ndb-7.4.10)

id=42 (not connected, accepting connect from any host)

id=43 (not connected, accepting connect from any host)

id=44 (not connected, accepting connect from any host)

id=45 (not connected, accepting connect from any host)

id=46 (not connected, accepting connect from any host)

id=47 (not connected, accepting connect from any host)

看到管理節點ip,執行啟動備份命令,注意,備份資料是放在每個資料節點的機器上,所以我們在管理節點啟動備份命令後,最後要登陸資料節點機器去把備份資料移走,備份命令:

ndb_mgm> start backup

waiting for completed, this may take several minutes

node 21: backup 3 started from node 1

ndb_mgm> node 21: backup 3 started from node 1 completed

startgcp: 31167689 stopgcp: 31167697

#records: 2622197 #logrecords: 0

data: 336303024 bytes log: 0 bytes

預設備份資料存放在資料節點的:/var/mysql/data/backup目錄下

Mysql集群mysql cluster安裝

環境說明 系統環境 centos 6.5 mini 64bit 軟體版本 mysql cluster advanced 7.3.7 linux glibc2.5 x86 64.tar.gz ip位址 mgm 192.168.100.211 ndbd1 192.168.100.212 ndbd2 19...

mysql cluster 集群架構配置

mysql cluster 是一種技術,該技術允許在無共享的系統環境中部署 記憶體中 的資料庫,cluster。通過無共享體系結構,系統能夠使用相對廉價的硬體,而且對其無特殊要求。此外每個元件有自己的記憶體和磁碟,不存在單點故障。mysql cluster是由一組計算機組成,每台計算機上均執行著多種...

mysql cluster集群 安裝篇 雙伺服器

mysql cluster 是一種技術,該技術允許在無共享的系統中部署 記憶體中 資料庫的 cluster 通過無共享體系結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個元件有自己的記憶體和磁碟,不存在單點故障。一 簡介 mysql cluster分為 1.管理節點 管理mysq...