【详解】MySQLCluster集群搭建详解基于RPM安装包

举报
皮牙子抓饭 发表于 2025/11/12 09:56:34 2025/11/12
【摘要】 MySQL Cluster 集群搭建详解(基于RPM安装包)概述MySQL Cluster 是一个高可用、高性能的数据库解决方案,它通过分布式数据存储来提高读写性能和数据冗余度。MySQL Cluster 采用NDB(Network Database)存储引擎,支持实时处理大量并发操作,特别适合于电信、金融等需要高可靠性和高性能的行业应用。本文将详细介绍如何基于RPM安装包在Linux系统上...

MySQL Cluster 集群搭建详解(基于RPM安装包)

概述

MySQL Cluster 是一个高可用、高性能的数据库解决方案,它通过分布式数据存储来提高读写性能和数据冗余度。MySQL Cluster 采用NDB(Network Database)存储引擎,支持实时处理大量并发操作,特别适合于电信、金融等需要高可靠性和高性能的行业应用。

本文将详细介绍如何基于RPM安装包在Linux系统上搭建MySQL Cluster集群,包括环境准备、软件安装、配置文件编写及启动集群等步骤。

环境准备

硬件要求

  • 至少3台服务器,用于部署管理节点、数据节点和SQL节点。
  • 每个节点建议配置4核CPU、8GB内存、100GB硬盘空间以上。
  • 所有节点之间网络互通,建议使用千兆或更高速率的网络连接。

软件要求

  • 操作系统:CentOS 7.x 或更高版本
  • MySQL Cluster 版本:8.0.x

系统配置

  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 关闭SELinux: 编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统。
  2. 设置主机名和解析: 在每台机器上设置主机名,并确保所有节点可以通过主机名互相访问。例如:
  • ​node1​​ (管理节点)
  • ​node2​​ (数据节点1)
  • ​node3​​ (数据节点2)

编辑​​/etc/hosts​​文件,添加如下内容:

192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3

安装MySQL Cluster

下载RPM包

从MySQL官方网站下载MySQL Cluster的RPM包,包括管理节点、数据节点和SQL节点的安装包。

wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-8.0/mysql-cluster-community-management-server-8.0.23-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-8.0/mysql-cluster-community-data-node-8.0.23-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-8.0/mysql-cluster-community-client-8.0.23-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-8.0/mysql-cluster-community-server-8.0.23-1.el7.x86_64.rpm

安装RPM包

管理节点(node1)
rpm -ivh mysql-cluster-community-management-server-8.0.23-1.el7.x86_64.rpm
数据节点(node2 和 node3)
rpm -ivh mysql-cluster-community-data-node-8.0.23-1.el7.x86_64.rpm
SQL节点(可选,任意节点)
rpm -ivh mysql-cluster-community-client-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-cluster-community-server-8.0.23-1.el7.x86_64.rpm

配置MySQL Cluster

管理节点配置

在管理节点上创建配置文件​​/var/lib/mysql-cluster/config.ini​​:

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[TCP DEFAULT]

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[NDB_MGMD]
HostName=node1
DataDir=/var/lib/mysql-cluster

[NDBD]
HostName=node2
DataDir=/usr/local/mysql/data

[NDBD]
HostName=node3
DataDir=/usr/local/mysql/data

[MYSQLD]

数据节点配置

在每个数据节点上创建目录​​/usr/local/mysql/data​​:

mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/data

SQL节点配置

在SQL节点上编辑​​/etc/my.cnf.d/mysql-cluster.cnf​​文件,添加以下内容:

[mysqld]
ndbcluster
ndb-connectstring=node1

启动集群

启动管理节点

在管理节点上启动管理服务:

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

启动数据节点

在每个数据节点上启动数据节点服务:

ndbd --initial

启动SQL节点

在SQL节点上启动MySQL服务:

systemctl start mysqld

验证集群状态

在管理节点上运行以下命令,查看集群状态:

ndb_mgm -e show

如果所有节点都正常运行,输出应类似如下:

Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.1.2  (mysql-8.0.23 ndb-8.0.23, Nodegroup: 0, *)
id=3    @192.168.1.3  (mysql-8.0.23 ndb-8.0.23, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.1.1  (mysql-8.0.23 ndb-8.0.23)

[mysqld(API)]   1 node(s)
id=4    @192.168.1.1  (mysql-8.0.23 ndb-8.0.23)


MySQL Cluster 是一个高度可用和可扩展的分布式数据库系统,适用于需要高读写性能、低延迟和高可用性的应用场景。MySQL Cluster 通过多节点复制和数据分片来实现这些特性。以下是一个基于RPM安装包的MySQL Cluster集群搭建的详细步骤和示例代码。

环境准备

假设我们有3台服务器,每台服务器将运行一个管理节点(Management Node)、两个数据节点(Data Node)和一个SQL节点(SQL Node)。

  • 服务器1 (192.168.1.101)
  • 服务器2 (192.168.1.102)
  • 服务器3 (192.168.1.103)

步骤1:安装MySQL Cluster软件包

首先,在所有服务器上安装MySQL Cluster的RPM包。假设你已经下载了相应的RPM包。

sudo rpm -Uvh mysql-cluster-community-management-server-7.6.25-1.el7.x86_64.rpm
sudo rpm -Uvh mysql-cluster-community-data-node-7.6.25-1.el7.x86_64.rpm
sudo rpm -Uvh mysql-cluster-community-client-7.6.25-1.el7.x86_64.rpm
sudo rpm -Uvh mysql-cluster-community-server-7.6.25-1.el7.x86_64.rpm

步骤2:配置管理节点

服务器1上配置管理节点。

  1. 创建配置文件目录:
sudo mkdir -p /var/lib/mysql-cluster
  1. 编辑配置文件​​/var/lib/mysql-cluster/config.ini​​:
[ndb_mgmd]
NodeId=1
HostName=192.168.1.101
DataDir=/var/lib/mysql-cluster

[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[ndbd]
NodeId=2
HostName=192.168.1.102

[ndbd]
NodeId=3
HostName=192.168.1.103

[mysqld]
NodeId=4
HostName=192.168.1.101

[mysqld]
NodeId=5
HostName=192.168.1.102

[mysqld]
NodeId=6
HostName=192.168.1.103
  1. 启动管理节点:
sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

步骤3:配置数据节点

服务器2服务器3上配置数据节点。

  1. 启动数据节点:
sudo ndbd

步骤4:配置SQL节点

在所有三台服务器上配置SQL节点。

  1. 编辑MySQL配置文件​​/etc/my.cnf.d/mysql-cluster.cnf​​:
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.101
  1. 启动MySQL服务:
sudo systemctl start mysqld

步骤5:验证集群状态

服务器1上使用管理客户端验证集群状态:

ndb_mgm

在管理客户端中输入以下命令查看集群状态:

show

步骤6:创建和使用数据库

在任意一台SQL节点上创建和使用数据库:

CREATE DATABASE test_db;
USE test_db;

CREATE TABLE test_table (
    id INT PRIMARY KEY,
    name VARCHAR(50)
) ENGINE=NDBCLUSTER;


搭建MySQL Cluster(也称为NDB Cluster)使用RPM安装包是一个涉及多个步骤的过程。MySQL Cluster是一种高可用性和高性能的数据库集群解决方案,它通过分布式的架构来提供数据冗余和负载均衡。下面将详细介绍如何基于RPM安装包搭建MySQL Cluster。

环境准备

  1. 操作系统:建议使用Linux发行版,如CentOS 7或更高版本。
  2. 硬件要求
  • 至少3台服务器,分别作为管理节点、数据节点和SQL节点。
  • 每个节点至少有2GB内存,4核CPU,以及足够的磁盘空间。
  1. 网络配置:确保所有节点之间可以互相通信,且防火墙允许必要的端口(默认为1186、3306、11860等)。

安装MySQL Cluster

1. 下载RPM包

首先,从MySQL官方网站下载适用于你的操作系统的MySQL Cluster RPM包。通常需要下载以下几种类型的RPM包:

  • ​mysql-cluster-community-management-server​
  • ​mysql-cluster-community-data-node​
  • ​mysql-cluster-community-client​
  • ​mysql-cluster-community-server​

例如,使用​​wget​​命令下载:

wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-management-server-7.6.15-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-data-node-7.6.15-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-client-7.6.15-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-server-7.6.15-1.el7.x86_64.rpm
2. 安装RPM包

在每个节点上安装相应的RPM包。例如,在管理节点上安装管理服务器包:

sudo rpm -ivh mysql-cluster-community-management-server-7.6.15-1.el7.x86_64.rpm

在数据节点上安装数据节点包:

sudo rpm -ivh mysql-cluster-community-data-node-7.6.15-1.el7.x86_64.rpm

在SQL节点上安装客户端和服务器包:

sudo rpm -ivh mysql-cluster-community-client-7.6.15-1.el7.x86_64.rpm
sudo rpm -ivh mysql-cluster-community-server-7.6.15-1.el7.x86_64.rpm

配置MySQL Cluster

1. 配置管理节点

编辑管理节点的配置文件​​/var/lib/mysql-cluster/config.ini​​,添加以下内容:

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[TCP DEFAULT]

[NDB_MGMD]
HostName=192.168.1.100
DataDir=/var/lib/mysql-cluster

[NDBD]
HostName=192.168.1.101
NodeId=2
DataDir=/usr/local/mysql/data

[NDBD]
HostName=192.168.1.102
NodeId=3
DataDir=/usr/local/mysql/data

[MYSQLD]
HostName=192.168.1.103
2. 启动管理节点

在管理节点上启动管理服务:

sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
3. 配置数据节点

编辑数据节点的配置文件​​/etc/my.cnf​​,添加以下内容:

[mysqld]
ndbcluster
ndb-connectstring=192.168.1.100
4. 启动数据节点

在每个数据节点上启动数据节点服务:

sudo ndbd
5. 配置SQL节点

编辑SQL节点的配置文件​​/etc/my.cnf​​,添加以下内容:

[mysqld]
ndbcluster
ndb-connectstring=192.168.1.100

[mysql_cluster]
ndb-connectstring=192.168.1.100
6. 启动SQL节点

在SQL节点上启动MySQL服务:

sudo systemctl start mysqld

验证集群状态

在管理节点上运行以下命令,检查集群状态:

ndb_mgm

进入管理控制台后,输入​​show​​命令查看集群的状态:

ndb_mgm> show

如果一切正常,你应该能看到所有节点的状态为​​STARTED​​。

总结

通过以上步骤,你可以成功地使用RPM安装包搭建一个基本的MySQL Cluster。根据实际需求,你可能还需要进行更多的配置和优化,以确保集群的稳定性和性能。希望这些信息对你有所帮助!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。