mysql的集群模式 galera-cluster部署详解
知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个数据库开发实战,手把手教大家学习《mysql的集群模式 galera-cluster部署详解》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
一: galera-cluster 的介绍
Galera Cluster是Codership公司开发的一套免费开源的高可用方案,官网为http://galeracluster.com。Galera Cluster即为安装了Galera的Mariadb集群(本文只介绍Mariadb Garela集群)。其本身具有multi-master特性,支持多点写入。Galera Cluster的三个(或多个)节点是对等关系,每个节点均支持写入,集群内部会保证写入数据的一致性与完整性,具体实现原理会在本篇中做简要介绍。
官方给出的特性如下:
- 真正的多主集群,Active-Active架构;
- 同步复制,没有复制延迟;
- 多线程复制;
- 没有主从切换操作,无需使用虚IP;
- 热备份,单个节点故障期间不会影响数据库业务;
- 支持节点自动加入,无需手动拷贝数据;
- 支持InnoDB存储引擎;
- 对应用程序透明,原生MySQL接口;
- 无需做读写分离;
- 部署使用简单。
二: galera-cluster 的运行原理
主要关注点是数据一致性。 事务既可以应用于每个节点,也可以不全部应用。 所以,只要它们配置正确,数据库保持同步。
Galera复制插件不同于传统的MySQL复制,可以解决多个问题,包括多主写入冲突,复制滞后和主从不同步。

三: mariadb的galera-cluster 部署
3.1: 系统软件环境介绍
系统: CentOS7.5x64
192.168.20.33 jiankong01.yl.com
192.168.20.34 jiankong02.yl.com
192.168.20.35 jiankong03.yl.com软件: mariadb-galera-cluster.zip

3.2: 配置 时间同步服务器
flyfish的 主机已经 配置好了chronyd 时间服务器
时间服务器为: 192.168.20.3
如果不会可以参考flyfish的其关于安装大数据集群CDH 的 时间服务器的配置
在此不再提供如何安装配置
3.3 安装mariadb-galear-cluster
所用集群节点都执行:
yum remove -y mariadb-libs yum install -y unzip boost-devel lsof perl-DBI perl-Data-Dumper


rpm -ivh rpm -ivh MariaDB-10.0.37-centos73-x86_64-*

rpm -ivh MariaDB-Galera-10.0.37-centos73-x86_64-*

3.4 节点配置文件
节点一: jiankong01.yl.com cd /etc/my.cnf.d vim server.conf ---- [mysqld] # # * Galera-related settings # [galera] # Mandatory settings wsrep_provider= /usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster' wsrep_node_name = 'jiankong01.yl.com' wsrep_node-address = '192.168.20.33' binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 bind-address=0.0.0.0 # # Optional setting #wsrep_slave_threads=1 ----
节点二:jiankong02.yl.com cd /etc/my.cnf.d/ vim server.conf ---- [mysqld] # # * Galera-related settings # [galera] # Mandatory settings wsrep_provider= /usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster' wsrep_node_name = 'jiankong02.yl.com' wsrep_node-address = '192.168.20.34' binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 bind-address=0.0.0.0 # # Optional setting #wsrep_slave_threads=1 #innodb_flush_log_at_trx_commit=0 ---
节点三: jiankong03.yl.com cd /etc/my.cnf.d/ vim server.conf ---- [mysqld] # # * Galera-related settings # [galera] # Mandatory settings wsrep_provider= /usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster' wsrep_node_name = 'jiankong03.yl.com' wsrep_node-address = '192.168.20.35' binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 bind-address=0.0.0.0 # # Optional setting #wsrep_slave_threads=1 #innodb_flush_log_at_trx_commit=0 ----
3.4 启动集群
在 集群的 任意一个节点上 执行
service mysql start --wsrep-new-cluster
此处以节点三为例:

节点一和节点二执行:
service mysql start


3.5:创建数据库实例
节点一:
mysql -uroot -pQingchun123.com create database nCalInfo

在节点二,三 上面查看
mysql -uroot -pQingchun123.com show databases


本篇关于《mysql的集群模式 galera-cluster部署详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!
浅析MySQL数据的导出与导入知识点
- 上一篇
- 浅析MySQL数据的导出与导入知识点
- 下一篇
- mysql如何利用Navicat导出和导入数据库的方法
-
- 结实的水蜜桃
- 感谢大佬分享,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢博主分享技术文章!
- 2023-07-03 00:59:31
-
- 受伤的猎豹
- 太详细了,收藏了,感谢师傅的这篇技术贴,我会继续支持!
- 2023-05-13 07:06:12
-
- 落后的白云
- 这篇博文真是及时雨啊,好细啊,感谢大佬分享,收藏了,关注大佬了!希望大佬能多写数据库相关的文章。
- 2023-03-12 21:22:21
-
- 直率的美女
- 太细致了,已加入收藏夹了,感谢博主的这篇博文,我会继续支持!
- 2023-01-03 18:44:00
-
- 悦耳的小猫咪
- 很好,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢up主分享技术文章!
- 2023-01-03 05:02:29
-
- 稳重的金针菇
- 这篇文章内容真是及时雨啊,太详细了,太给力了,码住,关注up主了!希望up主能多写数据库相关的文章。
- 2023-01-01 22:07:34
-
- 数据库 · MySQL | 22小时前 | MySQL · JSON · 性能优化 · mysql 部分更新 JSON_SET JSON_STORAGE_FREE
- MySQL JSON 部分更新什么时候真的生效
- 132浏览 收藏
-
- 数据库 · MySQL | 22小时前 | mysql 存储过程 错误信息 RESIGNAL GET STACKED DIAGNOSTICS
- MySQL RESIGNAL 怎样在存储程序中保留原始错误信息
- 280浏览 收藏
-
- 数据库 · MySQL | 22小时前 | MySQL · InnoDB · 数据库运维 · mysql Threads 锁等待 data_locks performance_schema data_lock_waits INNODB_TRX 阻塞事务
- MySQL 锁等待超时怎样从 performance_schema 找阻塞者
- 458浏览 收藏
-
- 数据库 · MySQL | 22小时前 |
- MySQL SIGNAL 怎样在存储程序中定义自定义异常
- 132浏览 收藏
-
- 数据库 · MySQL | 22小时前 | mysql optimizer hint 连接顺序 JOIN_ORDER JOIN_PREFIX
- MySQL optimizer hint 怎样限定连接顺序
- 403浏览 收藏
-
- 数据库 · MySQL | 22小时前 | MySQL · 事务 · 故障排查 · mysql transaction_read_only INNODB_TRX START TRANSACTION SET TRANSACTION
- MySQL 事务只读模式怎样判断当前连接能否写入
- 102浏览 收藏
-
- 数据库 · MySQL | 22小时前 | mysql visible 不可见索引 SET_VAR optimizer_switch
- MySQL 不可见索引怎样临时恢复可见性
- 124浏览 收藏
-
- 数据库 · MySQL | 22小时前 |
- MySQL JSON_TABLE 怎样展开嵌套数组又保留没有子项的行
- 231浏览 收藏
-
- 数据库 · MySQL | 23小时前 |
- MySQL JSON_VALUE 怎样区分路径不存在和 JSON 空值
- 488浏览 收藏
-
- 数据库 · MySQL | 23小时前 |
- MySQL GROUP BY WITH ROLLUP 识别小计与总计行的判断方法
- 483浏览 收藏
-
- 数据库 · MySQL | 23小时前 |
- MySQL CTE 怎样判断是否应该物化
- 315浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 582次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 620次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 651次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 616次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 432次使用
-
- go项目打包部署的完整步骤
- 2022-12-23 237浏览
-
- Golang项目搭配nginx部署反向代理负载均衡讲解
- 2023-01-01 131浏览
-
- docker中部署golang项目的步骤详解
- 2023-01-07 370浏览
-
- Go embed.FS 如何让模板与静态资源随二进制发布:fs.ValidPath 与运行时读取
- 2026-08-29 493浏览
-
- Go plugin 与静态链接部署有什么区别
- 2026-10-14 476浏览

