mysql分布式集群安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

概述

MySQL Cluster旨在提供具有高可用性和低延迟的MySQL兼容数据库。 MySQL Cluster技术通过NDB(网络数据库)和NDBCLUSTER存储引擎实现,并为MySQL数据库系统提供无共享群集和自动分片。 在无共享架构中,每个节点都有自己的内存和磁盘,不建议和支持使用NFS,SAN等共享存储。

要实现MySQL Cluster,我们必须安装三种类型的节点。 每个节点类型将安装在它自己的服务器上。

1.管理节点 - NDB_MGMD / MGM

     群集管理服务器用于管理群集的其他节点。 我们可以从管理节点创建和配置群集上的新节点,重新启动,删除或备份节点。

 

2.数据节点 - NDBD / NDB

     这是在节点之间进行同步和数据复制的过程的层。

 

3. SQL节点 - MySQLD / API

     应用程序用于连接到数据库集群的接口服务器。

 

在本教程中,我将指导您完成使用centOS 7安装和配置MySQL群集。我们将配置管理节点,两个数据节点和两个SQL节点。

 

准备

操作系统是CentOS 7 - 64位。

5台CentOS服务器或虚拟机。 我将使用主机名和IP地址,如下所示:

管理节点

db1 = 192.168.1.107

数据节点

db2 = 192.168.1.111

db3 = 192.168.1.109

SQL节点

db4 = 192.168.1.110
 db5 = 192.168.1.112

 

简单起见所有服务直接禁用防火墙

systemctl disable firewalld

systemctl stop firewalld

并且禁用selinux

 

vi /etc/selinux/config

    # This file controls the state of SELinux on the system.

    # SELINUX= can take one of these three values:

    #       enforcing - SELinux security policy is enforced.

    #       permissive - SELinux prints warnings instead of enforcing.

    #       disabled - No SELinux policy is loaded.

    SELINUX=disabled

    # SELINUXTYPE= can take one of these two values:

    #       targeted - Targeted processes are protected,

    #       mls - Multi Level Security protection.

    SELINUXTYPE=targeted

 

 

设置管理节点

第一步是使用CentOS 7 db1和IP 192.168.1. 107创建“管理节点”。 确保以root用户身份登录db1服务器。

 

下载MySQL Cluster软件

我将使用wgetMySQL站点下载它。 我在这里使用的是“Red Hat Enterprise Linux 7 / Oracle Linux 7x86,64位),RPM Bundle”,它与CentOS 7兼容。然后解压缩tar文件。

我将使用wgetMySQL站点下载它。 我在这里使用的是“Red Hat Enterprise Linux 7 / Oracle Linux 7x86,64位),RPM Bundle”,它与CentOS 7兼容。然后解压缩tar文件。

cd~ 
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar 
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

 

 

安装和删除软件包

在安装MySQL Clusterrpm包之前,需要安装MySQL-Cluster服务器所需的perl-Data-Dumper  在我们安装MySQL Cluster之前你需要删除mariadb-libs 

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

安装MySQL Cluster

使用以下rpm命令安装MySQL Cluster软件包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

确保没有错误。又可能需要安装net-tools

Yum install net-tools -y

配置MySQL群集

 

为配置文件创建新目录。 我将使用“/var/lib/mysql-cluster”目录。

mkdir -p /var/lib/mysql-cluster

然后在mysql-cluster目录中为名为“ config.ini ”的集群管理创建新的配置文件。

cd /var/lib/mysql-cluster
 vi config.ini

粘贴以下配置:

[ndb_mgmd default]
 # Directory for MGM node log files
 DataDir=/var/lib/mysql-cluster
  
 [ndb_mgmd]
 #Management Node db1
 HostName=192.168.1.107
  
 [ndbd default]
 NoOfReplicas=2      # Number of replicas
 DataMemory=256M     # Memory allocate for data storage
 IndexMemory=128M    # Memory allocate for index storage
 #Directory for Data Node
 DataDir=/var/lib/mysql-cluster
  
 [ndbd]
 # db2
 HostName=192.168.1.111
  
 [ndbd]
 # db3
 HostName=192.168.1.109
  
 [mysqld]
 #SQL Node db4
 HostName=192.168.1.115
  
 [mysqld]
 #SQL Node db5
 HostName=192.168.1.112

保存文件并退出。

 

启动管理节点

接下来使用以下命令启动管理节点:


 ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini

结果应该类似于:

MySQL Cluster Management Server mysql-5.6.28 ndb-7.4.10

2018-08-16 03:00:47 [MgmtSrvr] INFO     -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...

2018-08-16 03:00:47 [MgmtSrvr] INFO     -- Sucessfully created config directory

 

管理节点已启动,现在您可以使用命令ndb_mgm来监视节点:

 

ndb_mgm
 show

 

设置MySQL群集数据节点

我们将使用2CentOS服务器作为数据节点。

  1. db2 = 192.168.1.111

  2. db3 = 192.168.1.109

 

 

root用户身份登录并下载MySQL Cluster软件

使用ssh登录到db2服务器:

然后下载MySQL Cluster包并解压缩:

cd ~
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

安装和删除软件包

安装perl-Data-Dumper并删除mariadb-libs:

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

.安装MySQL Cluster

现在我们可以使用这些rpm命令为数据节点安装MySQL Cluster包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

确保没有错误。

配置数据节点

使用vi编辑器在etc目录中创建一个新配置文件:


 vi /etc/my.cnf

粘贴配置如下:

[mysqld]
 ndbcluster
 ndb-connectstring=192.168.1.107     # IP address of Management Node
  
 [mysql_cluster]
 ndb-connectstring=192.168.1.107     # IP address of Management Node

保存文件并退出。

然后为我们在管理节点配置文件“config.ini”中定义的数据库数据创建新目录。

 mkdir -p /var/lib/mysql-cluster

现在启动数据节点ndbd:

ndbd

DB3如法炮制

操作完回管理节点确认一下

 

设置SQL节点

此步骤包含SQL节点的设置,该节点提供对数据库的应用程序访问。 我们为SQL节点使用2CentOS服务器:

db4 = 192.168.1.115

db5 = 192.168.1.112

 

然后下载MySQL Cluster包并解压缩:

cd ~
 wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
 tar -xvf MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar

安装和删除软件包

安装perl-Data-Dumper并删除mariadb-libs:

yum -y install perl-Data-Dumper
 yum -y remove mariadb-libs

.安装MySQL Cluster

现在我们可以使用这些rpm命令为数据节点安装MySQL Cluster包:

cd~ 
 yum localinstall MySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpm  MySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm -y

确保没有错误。

配置SQL节点

etc目录中创建一个新的my.cnf文件:

 

vi /etc/my.cnf

并在下面粘贴配置:

[mysqld]
 ndbcluster
 ndb-connectstring=192.168.1.107       # IP address for server management node
 default_storage_engine=ndbcluster     # Define default Storage Engine used by MySQL
  
 [mysql_cluster]
 ndb-connectstring=192.168.1.107       # IP address for server management node

保存文件并退出编辑器。这里简单粗暴直接跳过验证。

通过启动MySQL服务器启动SQL节点:

重新初始化数据库

cat .mysql_secret

# The random password set for the root user at Thu Aug 16 20:48:32 2018 (local time): 9ybWrUm68Vx00JY6

 

最后的数字就是root的密码

 

mysql_secure_installation 命令按照提示初始化数据库

 

如果是偷懒的同学可以直接mysqld中加入skip-grant-tables直接跳过用户验证

service mysql start

验证

在所有节点上操作完成之后,可以使用

ndb_mgm -e show 来检查

所有的节点都连接完毕

这个时候连接到

192.168.1.112数据库创建数据,创建表,添加数据。

在192.168.1.115上就可以直接看到这些数据了,反过来操作也是一样。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
161 11
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
269 17
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
200 41
mysql8.0安装初始化不需要设定root密码?
uubntu 的mysql安装完成后无法设定root密码
249 10
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
MySQL下载与安装
本文介绍了MySQL的下载与安装流程(2025.4.29,作者:blue)。主要内容包括:1) 从官方地址下载MySQL;2) 解压文件并配置环境变量;3) 注册MySQL服务并通过命令行验证;4) 启动和停止MySQL服务;5) 修改默认账户密码;6) 登录MySQL。通过详细步骤和截图,帮助用户顺利完成安装与初始配置。
452 13
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
311 30
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
99 0

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问