1、環境準備(Centos7,mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz)
卸載之前安裝的Mysql 或者 mariadb
yum -y remove mysql*
yum -y remove mariadb*
2、停用安全策略seLinux,關閉防火牆或者開啓3306,1186端口
建議使用防火牆保證安全性
關閉防火牆 systemctl stop firewalld 或者 chkconfig --level 35 iptables off
禁用防火牆 systemctl disable firewalld
永久禁用安全策略(須要重啓)
vi /etc/selinux/config
SELINUX=disabled
(centos6)
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #DROP關閉
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2202 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1186 -j ACCEPT
/etc/init.d/iptables restart
setenforce 0
(centos7)
firewall-cmd --add-port=2202/tcp --zone=public --permanent
firewall-cmd --add-port=3306/tcp --zone=public --permanent
firewall-cmd --add-port=1186/tcp --zone=public --permanent
firewall-cmd --reload
setenforce 0
3、安裝
管理節點:192.168.1.140
數據節點1:192.168.1.130
數據節點2:192.168.1.135
sql節點1:192.168.1.130
sql節點2:192.168.1.135
每一個節點上
壓縮包上傳解壓 好比上傳至/usr/local
tar -xzvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz
3.1 管理節點安裝
cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64
cd bin
#ndb管理節點相關文件
cp 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
#默認配置
[ndbd default]
NoOfReplicas=2 #數據節點數量
DataMemory=5120M #存儲大小,內存的合適大小
IndexMemory=128M #索引存儲大小
ServerPort=1186 #端口默認1186
#管理節點
[ndb_mgmd]
nodeid=1 #節點ID
HostName=192.168.1.140 #管理節點地址
DataDir=/var/lib/mysql-cluster #(內存)數據目錄
#數據節點
[ndbd]
nodeid=21 #節點ID
HostName=192.168.1.130 #數據節點地址
DataDir=/var/lib/mysql-cluster #(內存)數據目錄node
[ndbd]
nodeid=22
HostName=192.168.1.135
DataDir=/var/lib/mysql-cluster
#sql節點
[mysqld]
nodeid=31
HostName=192.168.1.130 #sql節點地址,可訪問
[mysqld]
nodeid=32
HostName=192.168.1.135
3.2 數據節點和sql節點安裝配置
3.2.1 數據節點配置
#拷貝文件
cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64
cd bin
cp ndbd /usr/local/bin
#建立目錄(注意和管理節點配置文件保持一致)
mkdir -p /var/lib/mysql-cluster
#建立配置文件
vi /etc/my.cnf
[mysql_cluster] #配置數據節點鏈接管理節點
ndb-connectstring=192.168.1.140
3.2.2 sql節點配置
#新增用戶組mysql和用戶msyql
groupadd mysql
useradd -g mysql -s /bin/false mysql
#將解壓的文件重命名
mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql
#初始化數據庫
cd /usr/local/mysql/bin/
./mysqld --initialize #(舊版本scripts/mysql_install_db --user=mysql)注意記錄臨時密碼
#修改權限mysql
cd ..
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
#配置數據節點
vi /etc/my.cnf
#申明是sql節點,其中的IP爲管理節點的IP
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.140
注意:數據節點和sql節點同一臺機器按照如下配置便可
#新增用戶組mysql和用戶msyql
groupadd mysql
useradd -g mysql -s /bin/false mysql
#新建文件夾並賦予權限
#mkdir /var/lib/mysql-cluster
#chown root:mysql /var/lib/mysql-cluster
#將解壓的文件重命名
mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql
#初始化數據庫
cd /usr/local/mysql/bin/
./mysqld --initialize #(舊版本scripts/mysql_install_db --user=mysql)注意記錄臨時密碼
#修改權限linux
cd ..
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.serversql
#配置數據節點
vi /etc/my.cnf
#申明是sql節點,其中的IP爲管理節點的IP
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.140
#申明是數據節點,其中的IP爲管理節點的IP
[mysql_cluster]
ndb-connectstring=192.168.1.140
4、啓動和關閉(注意下面順序不能變)
啓動:(相關可執行文件路徑視安裝路徑而定)
管理節點--》數據節點--》sql節點 注意--initial參數在初始化或者須要恢復或者配置文件發生變化是須要
管理節點:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
數據節點:/usr/local/mysql/bin/ndbd --initial
sql節點:service mysql start 或者service mysqld start
關閉:
sql節點--》管理節點
sql節點 關閉sql服務便可
管理節點:/usr/local/bin/ndb_mgm
mgm>shutdown
查看狀態:
管理節點:/usr/local/bin/ndb_mgm
mgm>show #全部節點鏈接正常時即正常
5、改密並開啓遠程訪問:sql節點
初始密碼登陸
mysql -u root -p
set password=password('root@neusoft');
grant all privileges on *.* to root@'%' identified by 'root@neusoft';
FLUSH PRIVILEGES;
6、注意
NDB 默認引擎 ndbcluster,不然不一樣步
可在配置成功後my.cnf 添加default-storage-engine=ndbcluster
7、附加
添加可執行文件路徑
添加執行文件路徑
#當前用戶(/etc/profile 全部用戶生效)
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
數據庫