MySQL集群搭建及问题解决
- 192.168.81.147 管理节点
- 192.168.81.143 192.168.81.144 数据节点
-
192.168.81.145 195.168.81.146 SQL节点
- 配置好五台虚拟机(CentOS 7.2)。
- 在官网下载Mysql-Cluster二进制安装包(MySQL Cluster 7.5.5)。
- 配置管理节点(192.168.81.147)。
(1) cd /var/tmp
(2) tar -zxvf mysql-5.7.17-ndb-7.5.6-linux2.6-i686.tar.gz,解压安装包。
(3) cd mysql-5.7.17-ndb-7.5.6-linux2.6-i686
(4) cp bin/ndb_mgm* /usr/local/bin
(5) cd /usr/local/bin
(6) chmod +x ndb_mgm* - 配置数据节点(192.168.81.143 192.168.81.144)。
(1) cd /var/tmp
(2)tar -zxvf mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23.tar.gz
(3) cd mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23
(4) cp bin/ndbmtd /usr/local/bin/ndbmtd - 配置SQL节点。(192.168.81.145 195.168.81.146 )
(1)groupadd mysql
(2) useradd -g mysql -s /bin/false mysql
(3) cd /var/tmp
(4) tar -C /usr/local -xzvf mysql-cluster-gpl-7.5.6-linux2.6.tar.gz
(5) ln -s /usr/local/mysql-cluster-gpl-7.5.6-linux2.6-i686 /usr/local/mysql
(6) cd mysql
(7) mysqld –initialize –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
(这时会出现MySQL的登录密码,请记好该密码)。
(8) chown -R root .
(9) chown -R mysql data
(10) chgrp -R mysql .
(11) cp support-files/mysql.server /etc/rc.d/init.d/
(12) chmod +x /etc/rc.d/init.d/mysql.server
(13) chkconfig –add mysql.server -
配置数据节点和SQL节点的my.cnf。
(1)vi /etc/my.cnf
(2)将my.cnf文件改为如下内容[mysqld]
ndbcluster # run NDB storage engine
[mysql_cluster]
ndb-connectstring=192.168.0.10 # location of management server -
配置管理节点的config.ini。
(1)mkdir /var/lib/mysql-cluster
(2)cd /var/lib/mysql-cluster
(3) vi config.ini
(4)将如下内容复制到config.ini。[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
NodeId=1
hostname=192.168.81.147
datadir=/var/lib/mysql-cluster
[ndbd]
NodeId=2
hostname=192.168.81.143
datadir=/usr/local/mysql/data
[ndbd]
NodeId=3
hostname=192.168.81.144
datadir=/usr/local/mysql/data
[mysqld]
NodeId=4
hostname=192.168.81.145
[mysqld]
NodeId=5
hostname=192.168.81.146 -
启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。
(1)启动管理节点:ndb_mgmd -f /var/lib/mysql-cluster/config.ini
(2)启动数据节点:/usr/local/mysql/bin/ndbd –initial(首次启动)/usr/local/mysql/bin/ndbd(非首次启动)
(3)启动SQL节点:/usr/local/mysql/bin/mysqld_safe –user=mysql & -
启动成功,进行测试。
(1)在一个SQL节点上进行数据操作,看另一个SQL节点是否能同步数据。
shell> /usr/local/mysql/bin/mysql -u root -p
mysql>show databases;
mysql>create database test1;
mysql>use test1;
mysql>CREATE TABLE student (age INT) ENGINE=NDB; //这里必须指定数据库表的引擎为NDB,否则同步失败
mysql> INSERT INTO student VALUES (1);
mysql> SELECT * FROM student;
(2)关闭一个数据节点 ,在另外一个节点写输入,开启关闭的节点,看数据是否同步过来。首先把数据结点1重启,然后在结点2上添加数据。
mysql> INSERT INTO student () VALUES (3333);
mysql> SELECT * FROM student; -
若启动管理节点报错,使用ndb_mgmd –skip-config-cache -f /var/lib/mysql-cluster/config.ini
- 启动、关闭或者重启SQL节点时,使用/etc/init.d/mysql.server stop/start/restart
https://blog.csdn.net/qq_27347991/article/details/56286720