- 系统版本
-
[root@db-sql-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
IP规划:
ndb_mgmd | 10.0.0.11 | |
db-sql-node1 | 10.0.0.12 | |
db-sql-node2 | 10.0.0.13 |
3.ndb_mgmd配置步骤(10.0.0.11)
下载mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz
下载链接:http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/
下载完毕后通过rz命令上传到Linux上,通过tar zxvf mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz 解压
解压后的目录移动到/usr/local/下,
mv mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/mysql-cluster-gpl-7.5.10-linux-glibc2.12-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
[ndbd default] NoOfReplicas=2 DataMemory=512M IndexMemory=18M [ndb_mgmd] HostName=10.0.0.11 DataDir=/var/lib/mysql-cluster [ndbd] HostName=10.0.0.12 DataDir=/var/lib/mysql-cluster [ndbd] HostName=10.0.0.13 DataDir=/var/lib/mysql-cluster [mysqld] [mysqld]
使用配置文件初始化管理节点
/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
然后就能使用ndb_mgm进去管理了
ndb_mgm> show Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 (not connected, accepting connect from 10.0.0.12) id=3 (not connected, accepting connect from 10.0.0.13) [ndb_mgmd(MGM)] 1 node(s) id=1 @10.0.0.11 (mysql-5.7.22 ndb-7.5.10) [mysqld(API)] 2 node(s) id=4 (not connected, accepting connect from any host) id=5 (not connected, accepting connect from any host) ndb_mgm>
4.ndbd节点mysql节点配置步骤(10.0.0.12和10.0.0.13)
下载mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz
下载链接:http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/
下载完毕后通过rz命令上传到Linux上,通过tar zxvf mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz 解压
解压后的目录移动到/usr/local/下,更名为mysql
mv mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64 /usr/local/mysql
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /var/lib/mysql-cluster
chown root:mysql /var/lib/mysql-cluster/
yum -y install libaio
cd /usr/local/mysql/bin/
./mysqld --initialize
cd /usr/local/mysql/
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
vim /etc/my.cnf[mysqld] ndbcluster ndb-connectstring=10.0.0.11 [mysql_cluster] ndb-connectstring=10.0.0.11
启动ndbd服务(下次启动不需要加 --initial)
/usr/local/mysql/bin/ndbd --initial
启动mysql服务
/etc/init.d/mysql.server start
把mysql/bin目录添加到环境变量
[root@db-sql-node2 ~]# echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile && source /etc/profile
修改mysql的root登陆密码
mysql -uroot -p
SET PASSWD = PASSWD('123456');
5.启动和关闭
启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。
1.在(10.0.0.11)启动管理节点(关闭命令:ndb_mgm -e shutdown)
[root@dns-server ~]# /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
MySQL Cluster Management Server mysql-5.7.22 ndb-7.5.10
[root@dns-server ~]#
2.在(10.0.0.12和10.0.0.13)启动ndbd和MySQL(关闭命令:/etc/init.d/mysql.server stop)
[root@db-sql-node2 ~]# /usr/local/mysql/bin/ndbd
2018-11-21 11:28:15 [ndbd] INFO -- Angel connected to '10.0.0.11:1186'
2018-11-21 11:28:15 [ndbd] INFO -- Angel allocated nodeid: 2
[root@db-sql-node2 ~]# /etc/init.d/mysql.server start
Starting MySQL................................. SUCCESS!
[root@db-sql-node2 ~]#
3.在管理节点(10.0.0.11)查看状态
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @10.0.0.12 (mysql-5.7.22 ndb-7.5.10, Nodegroup: 0)
id=3 @10.0.0.13 (mysql-5.7.22 ndb-7.5.10, Nodegroup: 0, *)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.11 (mysql-5.7.22 ndb-7.5.10)
[mysqld(API)] 2 node(s)
id=4 @10.0.0.13 (mysql-5.7.22 ndb-7.5.10)
id=5 @10.0.0.12 (mysql-5.7.22 ndb-7.5.10)
ndb_mgm>
4.在db-sql-node1(10.0.0.12)登陆mysql创建数据库和表,在db-sql-node2(10.0.0.13)上验证同步结果
(如果使用sql创建表,命令为:CREATE TABLE student (age INT) ENGINE=NDBCLUSTER)
5.关闭时只需要关闭管理节点,后面的数据节点会同时被关闭