记一次虚拟机搭建mysql cluster集群

Mysql Cluster有三种节点,management,data node及SQL node

一般来说management与其他两种节点不再同一台服务器上

mysql cluster的engine只能是ndb,与我们一般使用的innodb是有一些区别的:详情链接

1.准备三台服务器

192.168.177.129 管理服务器

192.168.177.130 data node,sql node

192.168.177.131 data node,sql node

2.下载

下载mysql-cluster-community-8.0.29-1.el8.x86_64.rpm-bundle.tar包复制到三台服务器上

3.关闭防火墙

4.解压

tar -xvf mysql-cluster-community-8.0.29-1.el8.x86_64.rpm-bundle.tar

5.安装

管理服务器只需要安装management-server,自己看依赖安装

rpm -Uvh mysql-cluster-community-management-server-8.0.29-1.el8.x86_64.rpm

6.配置及启动

1.管理节点(192.168.177.129)

先配置管理服务器,新建配置文件

mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vim config.ini

内容

[ndbd default]
NoOfReplicas=2
#management
[NDB_MGMD]
nodeid=1
HostName=192.168.177.129
DataDir=/var/lib/mysql-cluster

#data node [NDBD] nodeid
=2 HostName=192.168.177.130 DataDir=/usr/local/mysql/data [NDBD] nodeid=3 HostName=192.168.177.131 DataDir=/usr/local/mysql/data
#sql node [MYSQLD] nodeid
=4 HostName=192.168.177.130 [MYSQLD] nodeid=5 HostName=192.168.177.131

启动管理节点

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

注:命令行中的ndb_mgmd是mysql cluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。

如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中。(这个我没试过)

2.数据以及SQL节点

编辑/etc/my.cnf文件
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
ndbcluster
default-storage-engine=ndbcluster
#bind-address=0.0.0.0
#skip-grant-tables

[mysql_cluster]
ndb-connectstring=192.168.177.129

注:中间碰到一个问题,之前user=root,mysql服务怎么都跑不起来,始终卡在新建test失败,改成user=mysql之后没有该问题

#不一定需要这个,如果跑不起来参考一下,不一定有用
chown -R mysql:mysql /usr/local/mysql/data

启动数据节点

ndbd --initial

注:第一次启动需要加参数:–initial,以后就不用加了,直接运行:ndbd

 

数据节点和SQL节点在同一服务器时可不用在配置my.cnf

启动SQL节点

service mysqld start

7.完成

在管理节点输入可查看

[root@localhost ~]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.177.130  (mysql-8.0.29 ndb-8.0.29, Nodegroup: 0, *)
id=3 (not connected, accepting connect from 192.168.177.131)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.177.132  (mysql-8.0.29 ndb-8.0.29)

[mysqld(API)]   4 node(s)
id=4    @192.168.177.130  (mysql-8.0.29 ndb-8.0.29)
id=5    @192.168.177.131  (mysql-8.0.29 ndb-8.0.29)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)

注:开启顺序是管理节点,数据节点,SQL节点,关闭顺序则是相反

8.一些思考

管理节点只有单个,若是挂掉影响整个集群,集群网络要求比较高

posted @ 2022-05-07 10:33  dsj  阅读(276)  评论(0)    收藏  举报