溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL Cluster7.2.4怎么安裝部署

發(fā)布時(shí)間:2021-11-19 11:51:28 來(lái)源:億速云 閱讀:134 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

本篇內(nèi)容主要講解“MySQL Cluster7.2.4怎么安裝部署”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“MySQL Cluster7.2.4怎么安裝部署”吧!

1.1 mysql-cluster簡(jiǎn)介 

    簡(jiǎn)單的說(shuō),MySQLCluster實(shí)際上是在無(wú)共享存儲(chǔ)設(shè)備的情況下實(shí)現(xiàn)的一種完全分布式數(shù)據(jù)庫(kù)系統(tǒng),其主要通過(guò)NDBCluster(簡(jiǎn)稱NDB)存儲(chǔ)引擎來(lái)實(shí)現(xiàn)。

       MySQLCluster剛剛誕生的時(shí)候可以說(shuō)是一個(gè)可以對(duì)數(shù)據(jù)進(jìn)行持久化的內(nèi)存數(shù)據(jù)庫(kù),所有數(shù)據(jù)和索引都必須裝載在內(nèi)存中才能夠正常運(yùn)行,但是最新的MySQLCluster版本已經(jīng)可以做到僅僅將所有索引和索引數(shù)據(jù)裝載在內(nèi)存中即可,實(shí)際的數(shù)據(jù)可以不用全部裝載到內(nèi)存中,架構(gòu)如下圖所示:

1.2Cluster結(jié)構(gòu)圖

1.3 Cluster主要結(jié)構(gòu)

  1、管理(MGM)節(jié)點(diǎn):

  這類(lèi)節(jié)點(diǎn)的作用是管理MySQLCluster內(nèi)的其他節(jié)點(diǎn),如提供配 置數(shù)據(jù)、啟動(dòng)并停止節(jié)點(diǎn)、運(yùn)行備份等。由于這類(lèi)節(jié)點(diǎn)負(fù)責(zé)管理其他節(jié)點(diǎn)的配置,應(yīng)在啟動(dòng)其他節(jié)點(diǎn)之前首先啟 動(dòng)這類(lèi)節(jié)點(diǎn)。MGM節(jié)點(diǎn)是用命令“ndb_mgmd”啟動(dòng)的。

  對(duì)硬件沒(méi)什么要求,差一點(diǎn)的機(jī)器完全能夠勝任。默認(rèn)端口1186。

 2、數(shù)據(jù)節(jié)點(diǎn):

  這類(lèi)節(jié)點(diǎn)用于保存Cluster的數(shù)據(jù)。數(shù)據(jù)節(jié)點(diǎn)的數(shù)目與副本的數(shù)目相關(guān),是片段的倍數(shù)。例如,對(duì)于兩個(gè)副本,每個(gè)副本有兩個(gè)片段,那么就有4個(gè)數(shù)據(jù)節(jié)點(diǎn)。不過(guò)沒(méi)有必要設(shè)置多個(gè)副本。數(shù)據(jù)節(jié)點(diǎn)是用命令“ndbd”啟動(dòng)的。

  可以選擇大內(nèi)存,cpu也相對(duì)來(lái)講不錯(cuò)的,尤其是以后ndbmtd對(duì)多核Cpu的支持。默認(rèn)端口2202

?3、SQL節(jié)點(diǎn):

  這是用來(lái)訪問(wèn)Cluster數(shù)據(jù)的節(jié)點(diǎn)。對(duì)于MySQLCluster,客戶端節(jié)點(diǎn)是使用NDBCluster存儲(chǔ)引擎的傳統(tǒng)MySQL服務(wù)器。通常,SQL節(jié)點(diǎn)是使用命令“mysqld–ndbcluster”啟動(dòng)的,或?qū)ⅰ皀dbcluster”添加到“my.cnf”后使用“mysqld”啟動(dòng)。

  對(duì)cpu要求較高,選擇多核,高頻CPU較好

1.4 Cluster特性

  分布式:分布式存儲(chǔ)引擎,可以由多個(gè)NDBCluster存儲(chǔ)引擎組成集群分別存放整體數(shù)據(jù)的一部分
支持事務(wù):和Innodb一樣,支持事務(wù)
可與mysqld不在一臺(tái)主機(jī):可以和mysqld分開(kāi)存在于獨(dú)立的主機(jī)上,然后通過(guò)網(wǎng)絡(luò)和mysqld通信交互。
內(nèi)存需求量巨大:新版本索引以及被索引的數(shù)據(jù)必須存放在內(nèi)存中,老版本所有數(shù)據(jù)和索引必須存在與內(nèi)存中

 Cluster使用自動(dòng)鍵值識(shí)別數(shù)據(jù)分片方案,用戶無(wú)需關(guān)心數(shù)據(jù)切片方案(在5.1及以后提供了分區(qū)鍵規(guī)則),透明實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù),數(shù)據(jù)分片規(guī)則根據(jù)1、主鍵、2唯一索引、3自動(dòng)行標(biāo)識(shí)rowid完成,再集群個(gè)數(shù)進(jìn)行分布,其訪問(wèn)數(shù)據(jù)猶如RAID訪問(wèn)機(jī)制一樣,能并行從各個(gè)節(jié)點(diǎn)抽取數(shù)據(jù),散列數(shù)據(jù),當(dāng)使用非主鍵或分區(qū)鍵訪問(wèn)時(shí),將導(dǎo)致所有簇節(jié)點(diǎn)掃描,影響性能(這是Cluster面對(duì)的核心挑戰(zhàn))

  適用場(chǎng)景:

    具有非常高的并發(fā)需求
對(duì)單個(gè)請(qǐng)求的響應(yīng)并不是非常的critical
查詢簡(jiǎn)單,過(guò)濾條件較為固定,每次請(qǐng)求數(shù)據(jù)量較少,又不希望自己進(jìn)行水平Sharding

   最佳實(shí)踐

   盡可能讓查詢簡(jiǎn)單,避免數(shù)據(jù)的跨節(jié)點(diǎn)傳輸;盡可能滿足SQL節(jié)點(diǎn)的計(jì)算性能,大一點(diǎn)的集群SQL節(jié)點(diǎn)會(huì)明顯多余Data節(jié)點(diǎn);在各節(jié)點(diǎn)之間盡可能使用萬(wàn)兆網(wǎng)絡(luò)環(huán)境互聯(lián),以減少數(shù)據(jù)在網(wǎng)絡(luò)層傳輸過(guò)程中的延時(shí)

1.5 mysql-cluster的優(yōu)缺點(diǎn)

 優(yōu)點(diǎn):

  1)        99.999 %的高可用性

  2)        快速的自動(dòng)失效切換

  3)        靈活的分布式體系結(jié)構(gòu),沒(méi)有單點(diǎn)故障

  4)        高吞吐量和低延遲

  5)        可擴(kuò)展性強(qiáng),支持在線擴(kuò)容

 缺點(diǎn)

  1)        存在很多限制,比如:不支持外鍵,數(shù)據(jù)行不能超過(guò)8K(不包括BLOB和text中的數(shù)據(jù))

  2)        部署、管理、配置很復(fù)雜

  3)        占用磁盤(pán)空間大,內(nèi)存大

  4)        備份和恢復(fù)不方便

  5)       復(fù)雜的sql查詢性能一般

2 安裝 

2.1 環(huán)境介紹

 mysqlcluster7.2.4安裝配置

 準(zhǔn)備64位版本 5臺(tái)服務(wù)器4G內(nèi)存60G硬盤(pán)2cpu

 10.100.200.36  64位

 10.100.200.37  64位

 10.100.200.38  64位

 10.100.200.39  64位

 10.100.200.41  64位

 管理節(jié)點(diǎn)(ndb_mgmd)10.100.200.36  64位

 數(shù)據(jù)節(jié)點(diǎn)(ndbd)     10.100.200.37  64位  10.100.200.38  64位

 SQL節(jié)點(diǎn)(mysqld/api)    10.100.200.39  64位   10.100.200.41  64位

 下載安裝包:mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz

 http://mirror.services.wisc.edu/mysql/Downloads/MySQL-Cluster-7.2/

2.1 安裝管理節(jié)點(diǎn)(10.100.200.36) 

 2.1.1解壓文件

    shell> tar -xvfmysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz

 2.1.2創(chuàng)建安裝目錄

    shell> mkdir-p /usr/local/mysql/bin

    shell> mkdir-p /usr/local/mysql/ndbdata

 2.1.3添加執(zhí)行文件路徑

    shell> vi ~/.bash_profile

  PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

 2.1.4拷貝執(zhí)行文件

  shell> cdmysql-cluster-gpl-7.2.4-linux2.6-x86_64

  shell> cp bin/ndb_mgmd/usr/local/mysql/bin

  shell> cp bin/ndb_mgm/usr/local/mysql/bin

 2.1.5創(chuàng)建日志文件存儲(chǔ)目錄

  shell> mkdir/var/lib/mysql-cluster

 2.1.6創(chuàng)建配置文件目錄及修改配置文件

  shell> mkdir/usr/local/mysql/cluster-conf

  shell> vi /usr/local/mysql/cluster-conf/config.ini 

2.2 管理節(jié)點(diǎn)配置文件

[NDBDDEFAULT]

#TotalSendBufferMemory= 256M

NoOfReplicas=2

DataMemory=2500M

IndexMemory=256M

DataDir=/var/lib/mysql-cluster

#FileSystemPath=/data/dbdata

#Redolog

FragmentLogFileSize=32M

InitFragmentLogFiles=SPARSE

NoOfFragmentLogFiles=8

RedoBuffer=1024M

StringMemory=25

LockPagesInMainMemory=1

MaxNoOfTables=4096

MaxNoOfOrderedIndexes=2048

MaxNoOfUniqueHashIndexes=1024

MaxNoOfAttributes=24576

MaxNoOfTriggers=14336

ODirect=1

MaxNoOfConcurrentTransactions=10000

MaxNoOfConcurrentOperations=50000

MaxNoOfLocalOperations=55000

TimeBetweenGlobalCheckpoints=1000

TimeBetweenEpochs=100

TimeBetweenWatchdogCheckInitial=60000

TransactionBufferMemory=10M

DiskCheckpointSpeed=10M

DiskCheckpointSpeedInRestart=100M

TimeBetweenLocalCheckpoints=20

SchedulerSpinTimer=400

SchedulerExecutionTimer=100

RealTimeScheduler=1

BackupMaxWriteSize=1M

BackupDataBufferSize=16M

BackupLogBufferSize=4M

BackupMemory=20M


MaxNoOfExecutionThreads=4

TransactionDeadLockDetectionTimeOut=10000

BatchSizePerLocalScan=512

###Increasing the LongMessageBufferb/c of a bug (20090903)

LongMessageBuffer=8M

###Heartbeating

HeartbeatIntervalDbDb=15000

HeartbeatIntervalDbApi=15000

[MGMDEFAULT]

PortNumber:1186

DataDir:/var/lib/mysql-cluster1

[TCPDEFAULT]

SendBufferMemory:64M

#######################################

#Change HOST1 to the name of the NDB_MGMD host

#Change HOST8 to the name of the NDBD host

#Change HOST9 to the name of the NDBD host

#######################################

[NDB_MGMD]

NodeId:1

HostName:10.100.200.36

ArbitrationRank:1

[NDBD]

NodeId:4

HostName:10.100.200.37

[NDBD]

NodeId:5

HostName:10.100.200.38

######################################################

#Note: The following can be MySQLDconnections or   #

#      NDB API application connecting to thecluster #

######################################################

[API]

NodeId:10

HostName:10.100.200.39

ArbitrationRank:2

[API]

NodeId:11

HostName:10.100.200.39

ArbitrationRank:2

[API]

NodeId:12

HostName:10.100.200.39

ArbitrationRank:2

[API]

NodeId:13

HostName:10.100.200.39

ArbitrationRank:2

[API]

NodeId:14

HostName:10.100.200.39

ArbitrationRank:2

[API]

NodeId:15

HostName:10.100.200.41

ArbitrationRank:2

[API]

NodeId:16

HostName:10.100.200.41

ArbitrationRank:2

[API]

NodeId:17

HostName:10.100.200.41

ArbitrationRank:2

3 安裝數(shù)據(jù)節(jié)點(diǎn)(10.100.200.37  10.100.200.38)

 解壓文件

 shell>tar -zxvfmysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz

 創(chuàng)建安裝目錄

 shell>mkdir -p /usr/local/mysql/bin

 shell>mkdir -p /usr/local/mysql/ndbdata

 拷貝執(zhí)行文件

 shell>cp mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndbd/usr/local/mysql/bin

 添加執(zhí)行文件路徑

 shell>vim ~/.bash_profile

 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

 創(chuàng)建配置文件:

 shell>vim /etc/my.cnf

 分別在主機(jī)添加如下內(nèi)容:

 [mysql_cluster]

 #配置數(shù)據(jù)節(jié)點(diǎn)連接管理節(jié)點(diǎn)

 ndb-connectstring=10.100.200.36

4 安裝SQL節(jié)點(diǎn)1(10.100.200.39  10.100.200.41)

 解壓文件

 shell>tar -zxvfmysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz

 拷貝安裝文件

 shell>mvmysql-cluster-gpl-7.2.4-linux2.6-x86_64 /usr/local/mysql

 添加mysql用戶

 shell>groupaddmysql

 shell>useradd-gmysqlmysql

 添加權(quán)限

 shell>chown -Rmysql:mysql/usr/local/mysql

 拷貝配置文件

 shell>cp /usr/local/mysql/support-files/my-large.cnf/etc/my.cnf

 初始化數(shù)據(jù)庫(kù)

 shell>cd /usr/local/mysql

 shell>scripts/mysql_install_db--user=mysql

 拷貝守護(hù)進(jìn)程所需文件

 shell>cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld

 配置守護(hù)進(jìn)程

 shell>chkconfig--addmysqld

 shell>chkconfig--level 35mysqld on

 添加執(zhí)行文件路徑

 shell>vim~/.bash_profile

 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

 更改配置文件

 shell>vim /etc/my.cnf

 分別編輯如下信息:

 [mysqld]#配置SQL節(jié)點(diǎn)與管理節(jié)點(diǎn)連接

 port= 3307

 socket= /tmp/mysql.sock

 ndbcluster

 ndb-connectstring=10.100.200.36

5啟動(dòng)以及關(guān)閉cluster

 啟動(dòng)順序管理節(jié)點(diǎn)->數(shù)據(jù)節(jié)點(diǎn)->SQL節(jié)點(diǎn)

 a、啟動(dòng)管理節(jié)點(diǎn)

  [root@banggocluster-conf]#ndb_mgmd-f /usr/local/mysql/cluster-conf/config.ini

 b、啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)

  ndbd–initial #(第一次啟動(dòng)必須添加選項(xiàng),另外備份/恢復(fù),修改配置文件也需要執(zhí)行)

  ndbd    #不是第一次啟動(dòng)需要執(zhí)行的命令

 c、啟動(dòng)SQL節(jié)點(diǎn)

  /etc/rc.d/init.d/mysqldstart或servicemysqldstart

  啟動(dòng)后可以用mysql-uroot -p驗(yàn)證mysql服務(wù)狀態(tài)

 關(guān)閉順序:SQL節(jié)點(diǎn)->管理節(jié)點(diǎn)

 a、關(guān)閉SQL節(jié)點(diǎn)

  /etc/rc.d/init.d/mysqldstop或servicemysqld stop

 b、關(guān)閉數(shù)據(jù)節(jié)點(diǎn)

  ndbdstop

 c、關(guān)閉管理節(jié)點(diǎn)

  ndb_mgm〉shutdown

6驗(yàn)證cluster的狀態(tài)

驗(yàn)證配置的正確性

1、在管理節(jié)點(diǎn)執(zhí)行:ndb_mgm-> show

[root@banggo~]# ndb_mgm

--NDB Cluster -- Management Client --

ndb_mgm>show

Connectedto Management Server at: localhost:1186

ClusterConfiguration

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

[ndbd(NDB)]     2 node(s)

id=4    @10.100.200.37  (mysql-5.5.19 ndb-7.2.4, Nodegroup:0, Master)

id=5    @10.100.200.38  (mysql-5.5.19 ndb-7.2.4, Nodegroup:0)

[ndb_mgmd(MGM)]1 node(s)

id=1    @10.100.200.36  (mysql-5.5.19 ndb-7.2.4)

[mysqld(API)]   2 node(s)

id=10   @10.100.200.39  (mysql-5.5.19 ndb-7.2.4)

………

id=14   @10.100.200.41  (mysql-5.5.19 ndb-7.2.4)

………

7 ndbcluster存儲(chǔ)引擎功能測(cè)試(與innoDB對(duì)比)

MySQL Cluster7.2.4怎么安裝部署

MySQL Cluster7.2.4怎么安裝部署

8 MySQLClster備份與恢復(fù)

備份

  采用ndb_mgm管理客戶端來(lái)備份,在管理節(jié)點(diǎn)執(zhí)行ndb_mgm即可進(jìn)入管理命令行,輸入startbackup開(kāi)始備份所有節(jié)點(diǎn),如果后面還跟著對(duì)應(yīng)數(shù)據(jù)節(jié)點(diǎn)的id就只備份對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)

恢復(fù)(參考:http://xxtianxiaxing.iteye.com/blog/563063)

  使用命令ndb_restore進(jìn)行恢復(fù),具體過(guò)程如下:

   啟動(dòng)管理節(jié)點(diǎn)

     /usr/bin/ndb_mgmd-f /usr/local/mysql/mysql-cluster/config.ini--reload

  啟動(dòng)數(shù)據(jù)節(jié)點(diǎn):

  /usr/bin/ndbd --initial

  第一個(gè)節(jié)點(diǎn)恢復(fù)的時(shí)候

  在第一個(gè)節(jié)點(diǎn)恢復(fù)表結(jié)構(gòu)(恢復(fù)的時(shí)候如果不涉及到表結(jié)構(gòu)的變更,不用使用參數(shù)-m)

  /usr/bin/ndb_restore  -c 10.100.200.37-n 11 -b 1 -m --backup_path=/data/backup/backup-1/

  恢復(fù)數(shù)據(jù),恢復(fù)數(shù)據(jù)的時(shí)候可以幾個(gè)ndb節(jié)點(diǎn)一起執(zhí)行,速度會(huì)快一點(diǎn)!

  /usr/bin/ndb_restore  -c 10.100.200.37-n 11 -b 1  -r --backup_path=/data/backup/backup-1/

  其他節(jié)點(diǎn)恢復(fù)的時(shí)候(以后的節(jié)點(diǎn)不需要加-m參數(shù))

  /usr/bin/ndb_restore  -c 192.168.100.223 -n 11 -b 1 -r --backup_path=/data/dbdata1/BACKUP/BACKUP-1/

9 MySQLClster在線添加節(jié)點(diǎn)1

 增加或減少數(shù)據(jù)節(jié)點(diǎn)的數(shù)量和NoOfReplicas有關(guān),一般來(lái)說(shuō)NoOfReplicas是2,那么增加或減少的數(shù)量也應(yīng)該是成對(duì)的,否則要設(shè)置另外的NoOfReplicas。

 首先是在配置文件中添加兩個(gè)節(jié)點(diǎn)的設(shè)置,如下:

?viconfig.ini  添加

  [NDBD]

  id=21

  HostName=10.100.200.37

  [NDBD]

  id=22

  HostName=10.100.200.38

 用ndb_mgm工具,停掉管理節(jié)點(diǎn),然后重新啟動(dòng)管理節(jié)點(diǎn)

 執(zhí)行ndb_mgm進(jìn)入管理命令界面,找到管理節(jié)點(diǎn)的id,然后執(zhí)行管理節(jié)點(diǎn)idstop,退出

 執(zhí)行

 /usr/bin/ndb_mgmd-f /usr/local/mysql/mysql-cluster/config.ini  --reload 重新啟動(dòng)管理節(jié)點(diǎn)

 登陸上去用show命令查看,是否出現(xiàn)了新添加的兩個(gè)節(jié)點(diǎn)!

 環(huán)狀重啟(一次重啟數(shù)據(jù)節(jié)點(diǎn)和sql節(jié)點(diǎn))

 初始化新添加的兩個(gè)節(jié)點(diǎn):

 ndbd--initial (執(zhí)行初始化之后會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)文件,undo日志文件等等)

 通過(guò)ndb_mgm創(chuàng)建nodegroup

 CREATENODEGROUP 21,22s

 重新分配cluster的數(shù)據(jù)

 SELECTTABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE ='NDBCLUSTER';

 ALTERONLINE TABLE table_nameREORGANIZE PARTITION;

 alteronline table card_packagereorganize partition;

 然后通過(guò)show命令或者使用ndb_desc命令查看

 ndb_desc-c 10.80.30.39 -dbgcarddbcard_package-p

 -c后面跟管理節(jié)點(diǎn)的ip,-d跟數(shù)據(jù)庫(kù)的名字,table_name為表名,-p輸出分區(qū)的詳細(xì)信息


10 MySQLClster用戶權(quán)限共享

 在sql節(jié)點(diǎn)41上面執(zhí)行mysql -uroot-p < /usr/local/mysql/share/ndb_dist_priv.sql

 在mysql終端調(diào)用名字為mysql_cluster_move_privileges的存儲(chǔ)過(guò)程,這個(gè)存儲(chǔ)過(guò)程的功能是備份權(quán)限表,然后將表的存儲(chǔ)引擎轉(zhuǎn)換為ndbcluster引擎。
mysql>CALLmysql.mysql_cluster_move_privileges();

 自動(dòng)備份權(quán)限表

   shell>mysqldumpmysql userdbtables_privcolumns_privprocs_priv>backup_file.sql

 驗(yàn)證權(quán)限表

  mysql>show create tablemysql.user;看engine是否為ndbcluster。

 在41上面加測(cè)試賬號(hào)

  mysql>grant all on *.* to test@'10.100.200.%' identified by 'test123';

  [root@banggo~]#mysql-h20.100.200.39 -utest-ptest123 -P3307; 

  OK,能連上,測(cè)試成功!

11.1 MySQLClster備份與恢復(fù)擴(kuò)展(操作見(jiàn)No8)

 1、簇備份
備份指的是在給定時(shí)間對(duì)數(shù)據(jù)庫(kù)的快照。備份包含三個(gè)主要部分:
(1)Metadata(元數(shù)據(jù)):所有數(shù)據(jù)庫(kù)表的名稱和定義。
(2)Tablerecords(表記錄):執(zhí)行備份時(shí)實(shí)際保存在數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。
(3)Transactionlog(事務(wù)日志):指明如何以及何時(shí)將數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中的連續(xù)記錄。
每一部分(這三部分)均會(huì)保存在參與備份的所有數(shù)據(jù)節(jié)點(diǎn)上。在備份過(guò)程中,每個(gè)節(jié)點(diǎn)均會(huì)將這三個(gè)部分保存在磁盤(pán)上的三個(gè)文件中(意思是說(shuō),有幾個(gè)節(jié)點(diǎn),將會(huì)把相同的數(shù)據(jù),保存幾份.例如,2個(gè)數(shù)據(jù)節(jié)點(diǎn),那么就會(huì)分別在2個(gè)節(jié)點(diǎn)上,保存2次,保存目錄默認(rèn)為
[NDBD]
DateDir=/usr/local/mysql/BACKUP

 
(4)BACKUP-backup_id.node_id.ctl
包含控制信息和元數(shù)據(jù)的控制文件。每個(gè)節(jié)點(diǎn)均會(huì)將相同的表定義(對(duì)于簇中的所有表)保存在自己的該文件中

(5)BACKUP-backup_id-0.node_id.data
包含表記錄的數(shù)據(jù)文件,它是按片段保存的,也就是說(shuō),在備份過(guò)程中,不同的節(jié)點(diǎn)會(huì)保存不同的片段。每個(gè)節(jié)點(diǎn)保存的文件以指明了記錄所屬表的標(biāo)題開(kāi)始。在記錄清單后面有一個(gè)包含關(guān)于所有記錄校驗(yàn)和的腳注。


            (6)BACKUP-backup_id.node_id.log
               包含已提交事務(wù)的記錄的日志文件。在日志中,僅保存已在備份中保存的表上的事務(wù)。參與備份的節(jié)點(diǎn)將保存不同的記錄,這是因?yàn)?,不同的?jié)點(diǎn)容納了不同的數(shù)據(jù)庫(kù)片段。
              在上面所列的內(nèi)容中,backup_id指的是備份ID,node_id是創(chuàng)建文件的節(jié)點(diǎn)的唯一ID。
              使用管理服務(wù)器創(chuàng)建備份開(kāi)始備份前,請(qǐng)確保已為備份操作恰當(dāng)?shù)嘏渲昧舜亍?br/>

 2、備份參數(shù)(以下參數(shù),都寫(xiě)在mgmd的config.ini配置文件中)
本節(jié)討論的參數(shù)定義了與在線備份執(zhí)行有關(guān)的內(nèi)存緩沖集。
(1)BackupDataBufferSize
在創(chuàng)建備份的過(guò)程中,為了將數(shù)據(jù)發(fā)送到磁盤(pán),將使用兩類(lèi)緩沖。備份數(shù)據(jù)緩沖用于填充由掃描節(jié)點(diǎn)的表而記錄的數(shù)據(jù)。一旦將該緩沖填充到了指定的水平BackupWriteSize(請(qǐng)參見(jiàn)下面的介紹),就會(huì)將頁(yè)發(fā)送至磁盤(pán)。在將頁(yè)寫(xiě)入磁盤(pán)的同時(shí),備份進(jìn)程能夠繼續(xù)填充該緩沖,直至其空間消耗完為止。出現(xiàn)該情況時(shí),備份進(jìn)程將暫停掃描,直至一些磁盤(pán)寫(xiě)入操作完成并釋放了內(nèi)存為止,然后掃描繼續(xù)。
該參數(shù)的默認(rèn)值為2MB。
(2)BackupLogBufferSize
備份日志緩沖扮演的角色類(lèi)似于備份數(shù)據(jù)緩沖,不同之處在于,它用于生成備份執(zhí)行期間進(jìn)行的所有表寫(xiě)入的日志。相同的原理也適用于備份數(shù)據(jù)緩沖情形下的頁(yè)寫(xiě)入,不同之處在于,當(dāng)備份日志緩沖中沒(méi)有多余空間時(shí),備份將失敗。出于該原因,備份日志緩沖的大小應(yīng)足以處理執(zhí)行備份時(shí)產(chǎn)生的負(fù)載。
該參數(shù)的默認(rèn)值對(duì)于大多數(shù)應(yīng)用程序均是適當(dāng)?shù)?。事?shí)上,備份失敗的原因更可能是因?yàn)榇疟P(pán)寫(xiě)入速度不夠,而不是備份日志緩沖變滿。如果沒(méi)有為應(yīng)用程序產(chǎn)生的寫(xiě)負(fù)載配置磁盤(pán)子系統(tǒng),簇很可能無(wú)法執(zhí)行所需的操作。最好按恰當(dāng)?shù)姆绞脚渲么兀沟锰幚砥鞒蔀槠款i而不是磁盤(pán)或網(wǎng)絡(luò)連接。默認(rèn)值是2MB。
(3)BackupMemory
該參數(shù)是BackupDataBufferSize和BackupLogBufferSize之和。默認(rèn)值是2MB+ 2MB = 4MB。
(4)BackupWriteSize
該參數(shù)指定了由備份日志緩沖和備份數(shù)據(jù)緩沖寫(xiě)入磁盤(pán)的消息大小。默認(rèn)值是32KB.
(5)BackupDataDir
#可更改默認(rèn)的備份目錄,BackupDataDir=/mysqlback
#當(dāng)然前提,mkdir/mysqlback,需要在所有數(shù)據(jù)節(jié)點(diǎn)上運(yùn)行
也能指定存放備份的目錄。默認(rèn)情況下,該目錄是FileSystemPath/BACKUP
(6)FileSystemPath
該參數(shù)指定了存放為元數(shù)據(jù)創(chuàng)建的所有文件、REDO日志、UNDO日志和數(shù)據(jù)文件的目錄。默認(rèn)目錄是由DataDir指定的。注意,啟動(dòng)ndbd進(jìn)程之前,該目錄必須已存在。
(7)DataDir
該參數(shù)指定了存放跟蹤文件、日志文件、pid文件以及錯(cuò)誤日志的目錄。

12.1 Join的改進(jìn)1

      在現(xiàn)在的mysqlcluster 7.2測(cè)試版本中,對(duì)join的功能進(jìn)行了重大改進(jìn),可以說(shuō)是一個(gè)里程碑的版本,由于前段時(shí)間做測(cè)試發(fā)現(xiàn)mysqlcluster 7.1.10對(duì)join的性能很不好,另外如果jion的表比較大的時(shí)候會(huì)導(dǎo)致節(jié)點(diǎn)之間的數(shù)據(jù)傳輸非常大。
    我們知道在7.2之前的版本都是將jion在mysqld節(jié)點(diǎn)執(zhí)行,這樣就需要從數(shù)據(jù)節(jié)點(diǎn)進(jìn)行交互傳輸數(shù)據(jù),造成join的性能非常差?,F(xiàn)在7.2版本將join放到了數(shù)據(jù)節(jié)點(diǎn)執(zhí)行,并行處理,較少了數(shù)據(jù)在sql節(jié)點(diǎn)的交互,因此性能大幅提升。

   導(dǎo)入數(shù)據(jù)測(cè)試(省略,參見(jiàn)join.txt)首先將ndb_join_pushdown參數(shù)關(guān)掉進(jìn)行測(cè)試

點(diǎn)擊(此處)折疊或打開(kāi)

  1.    mysql>SELECT TABLESPACE_NAME, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 ASTOTAL_MB, EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS  FREE_MB, EXTRA FROMinformation_schema.FILESWHERE FILE_TYPE=\"DATAFILE\";

  2.     +-----------------+------------+--------------+--------------+----------------+

  3.     |TABLESPACE_NAME | FILE_NAME |TOTAL_MB | FREE_MB | EXTRA |

  4.     +-----------------+------------+--------------+--------------+----------------+

  5.     |ts_1 | data_1.dat |512.00000000 | 301.00000000 | CLUSTER_NODE=4 |

  6.     |ts_1 | data_1.dat |512.00000000 | 301.00000000 | CLUSTER_NODE=5 |

  7.     |ts_1 | data_1.dat |512.00000000 | 300.00000000 | CLUSTER_NODE=6 |

  8.     +-----------------+------------+--------------+--------------+----------------+

  9.      3rows in set (0.05 sec)

到此,相信大家對(duì)“MySQL Cluster7.2.4怎么安裝部署”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI