11.15 mysql集群搭建

mysql集群搭建

MySQL Cluster包含一個管理結點、兩個數據結點、兩個SQL結點,機器名稱和IP如下所示:

  1. 管理結點 mysql-mgm 192.168.0.1
  2. 數據結點 1 mysql-ndbd-1 192.168.0.2
  3. 數據結點 2 mysql-ndbd-2 192.168.0.3
  4. SQL 結點1 mysql-sql-1 192.168.0.4
  5. SQL 結點2 mysql-sql-2 192.168.0.5

一、公共配置

請在五個虛擬機上分別配置此處的配置項。

1. 安裝虛擬機

虛擬機操作系統安裝CentOS 6.5的x86_64版本,使用NAT網絡,並且還要安裝vmware-tools,具體安裝方法此處不詳述。

2. 拷貝mysql cluster

3. 下載以下版本的MySQL-Cluster:

 http://dev.mysql.com/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz

下載得到的壓縮包拷貝至虛擬機的/root/Downloads目錄,然後在shell中運行以下命令:

 cd /root/Downloads
tar -xvzf mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz

mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64 /usr/local/mysql

注:mv 將安裝目標文件夾重命名為

/usr/local/mysql

3. 關閉安全策略

關閉iptables防火牆(或者打開防火牆的1186、3306端口),在Shell中運行以下命令:

 chkconfig --level 35 iptables off 

關閉SELinux,在Shell中運行以下命令:

 gedit /etc/selinux/config 

將config文件中的SELINUX項改為disabled,修改後的config文件的內容如下:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

最後重啟系統

mysql集群搭建

二、配置管理結點(192.168.0.1)

1. 配置config.ini配置文件

在shell中運行以下命令:

 cd /usr/local/mysql
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
gedit config.ini

配置文件config.ini內容如下:

 [ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
NodeId=1
hostname=192.168.0.1
datadir=/var/lib/mysql-cluster
[ndbd]
NodeId=2
hostname=192.168.0.2
datadir=/usr/local/mysql/data
[ndbd]
NodeId=3
hostname=192.168.0.3
datadir=/usr/local/mysql/data
[mysqld]
NodeId=4
hostname=192.168.0.4
[mysqld]
NodeId=5
hostname=192.168.0.5

2. 安裝管理結點

安裝管理節點,不需要mysqld二進制文件,只需要MySQL Cluster服務端程序(ndb_mgmd)和監聽客戶端程序(ndb_mgm)。在shell中運行以下命令,將安裝文件夾中需要的文件取出:

 cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin
cd /usr/local/bin
chmod +x ndb_mgm*

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

# /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

出現:

 MySQL Cluster Management Server mysql-5.7.16 ndb-7.5.4

然後就能使用ndbd進去管理了(如果ndbd命令不行,就使用在/usr/local/bin目錄下使用ndb_mgm命令)

# ndbd
ndb_mgm>show

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

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

mysql集群搭建

三、配置數據結點(192.168.0.2、192.168.0.3)

1. 添加mysql組和用戶

在shell中運行以下命令:

 groupadd mysql
useradd -g mysql mysql

2. 配置my.cnf配置文件

3. 在shell中運行以下命令:

 gedit /etc/my.cnf

配置文件my.cnf的內容如下:

 [mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/sock/mysql.sock
explicit_defaults_for_timestamp=true
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.0.1

3. 創建系統數據庫

4. 在shell中運行以下命令:

 cd /usr/local/mysql
mkdir sock
/>

4. 設置數據目錄

在shell中運行以下命令:

 chown -R root .
chown -R mysql.mysql /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/sock
chgrp -R mysql .

5. 配置MySQL服務

6. 在shell中運行以下命令:

 cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server

啟動mysql成功之後請自己登錄進mysql內然後進行密碼修改等操作,就和正常安裝完成mysql的操作一樣。需要注意的是,集群數據庫的密碼需要相同哦!

啟動ndbd#

 /etc/init.d/ndbd --initial

如果上述不行使用絕對路徑的這個:

 /usr/local/mysql/bin/ndbd --initial

四、配置SQL結點(192.168.0.4、192.168.0.5)

1. 添加mysql組和用戶

2. 在shell中運行以下命令:

 groupadd mysql 

useradd -g mysql mysql

2. 配置my.cnf配置文件

3. 在shell中運行以下命令:

 gedit /etc/my.cnf

配置文件my.cnf的內容如下:

 [client]
socket=/usr/local/mysql/sock/mysql.sock
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/sock/mysql.sock
explicit_defaults_for_timestamp=true
ndb-connectstring=192.168.0.1
[mysql_cluster]
ndb-connectstring=192.168.0.1

3. 創建系統數據庫

4. 在shell中運行以下命令:

 cd /usr/local/mysql
mkdir sock
/>

4. 設置數據目錄

5. 在shell中運行以下命令:

 chown -R root .
chown -R mysql.mysql /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/sock
chgrp -R mysql .

5. 配置MySQL服務

在shell中運行以下命令:

 cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server

啟動集群節點上面的服務啟動mysql(成功會有success)# /etc/init.d/mysql.server start

mysql集群搭建

五、Cluster環境啟動

注意啟動順序:

首先是管理節點,然後是數據節點,最後是SQL節點。

1. 啟動管理結點

在shell中運行以下命令:

 ndb_mgmd -f /var/lib/mysql-cluster/config.ini

還可以使用ndb_mgm來監聽客戶端,如下:

 ndb_mgm

2. 啟動數據結點

首次啟動,則需要添加--initial參數,以便進行NDB節點的初始化工作。在以後的啟動過程中,則是不能添加該參數的,否則ndbd程序會清除在之前建立的所有用於恢復的數據文件和日誌文件。

 /usr/local/mysql/bin/ndbd --initial

如果不是首次啟動,則執行下面的命令。

 /usr/local/mysql/bin/ndbd

3. 啟動SQL結點

若MySQL服務沒有運行,則在shell中運行以下命令:

 /etc/init.d/mysql.server start

 /usr/local/mysql/bin/mysqld_safe --user=mysql &

4. 啟動測試

5. 查看管理節點,啟動成功。

mysql集群搭建


分享到:


相關文章: