MySQL Cluster包含一個管理結點、兩個數據結點、兩個SQL結點,機器名稱和IP如下所示:
- 管理結點 mysql-mgm 192.168.0.1
- 數據結點 1 mysql-ndbd-1 192.168.0.2
- 數據結點 2 mysql-ndbd-2 192.168.0.3
- SQL 結點1 mysql-sql-1 192.168.0.4
- 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
最後重啟系統
二、配置管理結點(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節點
三、配置數據結點(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
五、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. 查看管理節點,啟動成功。
閱讀更多 SNAP視頻 的文章