centos7 mysql集羣搭建 mysql-cluster 7.5 搭建

 

概念:node

爲了簡單,我後面簡稱mysql-cluster爲mc。mysql

一、mc已經包含了mysql,我下載的最新的mc7.5,官方說明包含的是mysql版本是5.7。因此不須要使用別的msyql的安裝包安裝數據庫。同時注意mysql5.7的版本在安裝的命令和配置上面和以前的版本有很大的不一樣,因此網上有不少mc7.5以前的版本,所包含的mysql版本不一樣,因此安裝方法不一樣。linux

二、管理節點,mc管理節點負責管理、配置、監控整個集羣。sql

三、數據節點,使用內存存放數據,保存進數據節點的數據都會自動複製並存儲到其餘數據節點。數據庫

四、mysql節點,也叫數據庫節點,和咱們平時使用的mysql相同,做爲數據庫使用。被數據節點訪問。服務器

搭建:測試

1.首先下載mysql cluster,推薦使用下面的鏡像,下載速度比官網快一些this

http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/rest

2.安裝以前,若是以前安裝過mysql,那麼須要刪除相應的各類mysql文件,刪除以前請中止mysql服務。而且不要忘記刪除my.cnf這些配置文件。確保刪除乾淨。否則可能會和後面的安裝有衝突。若是是實驗,關閉防火牆,實際中,防火牆打開對應端口,{注意實際中須要使用的端口不僅有3306端口,還有同步須要使用的1186端口!!!}。保證服務器以前能互相訪問,能ping通。保證固定的ip地址。保證沒有別的程序佔用須要使用的端口。如3306等。這些都確認完畢後再進行安裝。須要linux基礎的命令熟練,須要熟練安裝mysql基本版本等操做,由於後序的一些操做我會簡單描述,不作過多的說明了。code

3.將下載後的包上傳至服務器/usr/local下

tar xvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz
cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64
cp bin/ndb_mgm* /usr/local/bin
cd /usr/local/bin
chmod +x ndb_mgm*
mkdir /var/lib/mysql-cluster.
mkdir /usr/local/mysql
vi /var/lib/mysql-cluster/config.ini

4.下面是配置文件,根據本身的需求修改,首先給出官網的默認配置文件,而後給出個人配置文件,根據我修改的修改便可,別的都可不動。

官網給出的是

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2    # Number of replicas
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M   # How much memory to allocate for index storage
                  # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example NDB Cluster setup.
ServerPort=2202   # This the default value; however, you can use any
                  # port that is free for all the hosts in the cluster
                  # Note1: It is recommended that you do not specify the port
                  # number at all and simply allow the default value to be used
                  # instead
                  # Note2: The port was formerly specified using the PortNumber 
                  # TCP parameter; this parameter is no longer available in NDB
                  # Cluster 7.5.

[ndb_mgmd]
# Management process options:
HostName=192.168.0.10           # Hostname or IP address of MGM node
DataDir=/var/lib/mysql-cluster  # Directory for MGM node log files

[ndbd]
# Options for data node "A":
                                # (one [ndbd] section per data node)
HostName=192.168.0.30           # Hostname or IP address
NodeId=2                        # Node ID for this data node
DataDir=/usr/local/mysql/data   # Directory for this data node's data files

[ndbd]
# Options for data node "B":
HostName=192.168.0.40           # Hostname or IP address
NodeId=3                        # Node ID for this data node
DataDir=/usr/local/mysql/data   # Directory for this data node's data files

[mysqld]
# SQL node options:
HostName=192.168.0.20           # Hostname or IP address
                                # (additional mysqld connections can be
                                # specified for this node for various
                                # purposes such as running ndb_restore)

我本身配置的

[ndbd default]
NoOfReplicas=2
DataMemory=512M
IndexMemory=18M

[ndb_mgmd]
HostName=192.168.27.129
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.27.128
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.27.130
DataDir=/var/lib/mysql-cluster

[mysqld]
[mysqld]

5.使用配置文件初始化管理節點

/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
ndb_mgm>show

(使用show命令查看管理狀況,當數據節點配置完畢以後,咱們再用這個命令查看和管理)

到此爲止管理節點配置完畢,接下去配置數據和sql節點

6.安裝配置節點

(1).新增用戶組mysql和用戶msyql

groupadd mysql
 useradd -g mysql -s /bin/false mysql
 mkdir /var/lib/mysql-cluster
 chown root:mysql /var/lib/mysql-cluster

(2).將下載後的包上傳至服務器/usr/local下

tar xvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz
ln -s /usr/local/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 /usr/local/mysql

初始化數據庫(這裏要注意,若是你安裝的版本和個人不一樣,數據庫初始化的命令使不一樣的,不少以前的版本會使用:scripts/mysql_install_db --user=mysql來初始化,這個已經被mysql在新的版本中廢棄了,因此須要使用下面的命令安裝,若是你須要安裝別的版本請參考mysql官網的對應版本的安裝命令。)

進入剛纔建立的目錄下

cd /usr/local/mysql
mysqld --initialize

注意 必定是進入到你的解壓完的建立鏈接的目錄下

chown -R root .
chown -R mysql data
chgrp -R mysql .
cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server

(3).配置數據節點

vi /etc/my.cnf

配置文件添加以下

[mysqld]
ndbcluster
ndb-connectstring=192.168.27.129

[mysql_cluster]
ndb-connectstring=192.168.27.129
其中的IP爲管理節點的IP

啓動集羣節點上面的服務啓動mysql(成功會有success)

/etc/init.d/mysql.server start

啓動mysql成功以後請本身登陸進mysql內而後進行密碼修改等操做,就和正常安裝完成mysql的操做同樣。須要注意的是,集羣數據庫的密碼須要相同哦!

 

啓動ndbd# /etc/init.d/ndbd --initial若是上述不行使用絕對路徑的這個:# /usr/local/mysql/bin/ndbd --initial若是出現下述現象就成功了

最後當全部的節點配置完成,回到管理節點,使用上述說過的show查看,以下的相似顯示,證實已經鏈接完成

7.測試

修改mysql密碼統一,修改mysql的訪問權限,使外部ip能遠程訪問mysql

而後建立在一臺上面建立數據庫,看另外一臺是否被同步,而後建立表,而後新增刪除等等。

惟一須要注意的是,建立表的時候必須選擇表的引擎爲NDBCLUSTER,不然表不會進行同步

8.啓動和關閉

啓動mysql集羣。啓動順序爲:管理節點→數據節點→SQL節點。

啓動的命令上面都有,刪去--initial便可

關閉時只須要關閉管理節點,後面的數據節點會同時被關閉,mysql就和原來同樣便可

管理節點關閉命令:ndb_mgm -e shutdown

(執行完成以後管理節點會關閉,數據節點也會關閉,但SQL節點不會,也就是數據庫服務須要手動到每一臺服務器上中止以保證數據同步)

相關文章
相關標籤/搜索