mysql借助Galera Cluster构建多主集群

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

首先安装带有Galera Cluster功能的MariaDB版本的程序包:

官方文档:https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/


Galera Cluster实现的复制与mysql传统的复制实现方式不同,传统复制都是通过读取mysql的二进制日志中的事务然后在本地重放实现数据复制的,而Galera Cluster则不需要,它是通过wsrep协议直接从底层复制数据到其它各节点上完成数据复制的。


实验至少需要3台mysql服务器,本次使用的是官方提供的yum源:

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/5.5/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1


实验环境:物理机win7,虚拟机3台centos7;


node1:192.168.255.2 

node2:192.168.255.3

node3:192.168.255.4


分别在各节点安装MariaDB-Galera-server

]# yum -y install MariaDB-Galera-server


]# rpm -ql galera |grep 'libgalera'

/usr/lib64/galera/libgalera_smm.so

记录此路径,在配置galera时会用到;


配置节点1:

]# vim /etc/my.cnf.d/server.cnf

wKiom1da4HDBYMTQAAA4Dlw6eTc901.png


把该配置文件复制到另外两个节点上:

]# scp /etc/my.cnf.d/server.cnf node2:/etc/my.cnf.d/

]# scp /etc/my.cnf.d/server.cnf node3:/etc/my.cnf.d/


初始化启动数据库:在其中任意节点执行均可;

wKioL1da4qHRy-71AAAOgkwbTwI924.png


在节点2,3上正常启动mysql

wKioL1da4xWiiYCQAAAQl0IISI8718.png

wKiom1da4kOx43VYAAAPPYRZhAY248.png

以上Galera Cluster配置完成;下面验证各节点复制;


在节点1:

> CREATE DATABASE mydb;


在节点2:

wKiom1da4tjS_JDnAAAiZEvNlXI819.png

已经复制到了在节点1创建的mydb库;

> use mydb;

> CREATE TABLE tb1 (id int,name char(10));


在节点3:

wKioL1da5FrTJLGIAAAto907RfY703.png

以上实现了基于wsrep协议的Galera Cluster的mysql多主复制功能;











本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1787844,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
52 3
|
2月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
53 0
|
16天前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####
|
13天前
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
17 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
96 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
43 0
|
3天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
45 15
|
4天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
8天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
16天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据