360教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

详细介绍MySQL Group Replication[Multi-Primary Mode]的搭建部署过程(图文)

时间:2022-12-12作者:未知来源:360教程人气:

SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

1,关于MySQL Group Replication

基于组的复制(Group-basedReplication)是一种被使用在容错系统中的技术。Replication-group(复制组)是由能够相互通信的多个服务器(节点)组成的。

在通信层,Groupreplication实现了一系列的机制:比如原子消息(atomicmessage delivery)和全序化消息(totalorderingof messages)。这些原子化,抽象化的机制,为实现更先进的数据库复制方案提供了强有力的支持。

MySQL Group Replication正是基于这些技术和概念,实现了一种多主全更新的复制协议。

简而言之,一个Replication-group就是一组节点,每个节点都可以独立执行事务,而读写事务则会在于group内的其他节点进行协调之后再commit。

因此,当一个事务准备提交时,会自动在group内进行原子性的广播,告知其他节点变更了什么内容/执行了什么事务。

这种原子广播的方式,使得这个事务在每一个节点上都保持着同样顺序。

这意味着每一个节点都以同样的顺序,接收到了同样的事务日志,所以每一个节点以同样的顺序重演了这些事务日志,最终整个group保持了完全一致的状态

然而,不同的节点上执行的事务之间有可能存在资源争用。这种现象容易出现在两个不同的并发事务上。

假设在不同的节点上有两个并发事务,更新了同一行数据,那么就会发生资源争用。

面对这种情况,GroupReplication判定先提交的事务为有效事务,会在整个group里面重演,后提交的事务会直接中断,或者回滚,最后丢弃掉。

因此,这也是一个无共享的复制方案,每一个节点都保存了完整的数据副本。看如下图片01.png,描述了具体的工作流程,能够简洁的和其他方案进行对比。这个复制方案,在某种程度上,和数据库状态机(DBSM)的Replication方法比较类似。

详细介绍MySQL Group Replication[Multi-Primary Mode]的搭建部署过程(图文)

2,安装mysql 5.7.17

官方下载,不过官方只保留最新的version,5.7.17这个url地址不一定长期有效,所以,需要的不一定有,我这里在百度云盘保留了下来,版本是5.7.17,可以随时去下载使用,

在三台db服务器上面设置/etc/hosts映射,如下:

192.168.121.71    db1                                                                                                            
192.168.121.111    db2
192.168.121.24    db3

安装的数据库服务器:

数据库服务器地址

端口

数据目录

Server-id

192.168.121.71(db1)

3317

/data/mysql/data

12001

192.168.121.111(db2)

3317

/data/mysql/data

12002

192.168.121.24(db3)

3317

/data/mysql/data

12003


3
,创建复制环境

设置hostname和ip映射

在db1、db2、db3上都设置

vim /etc/hosts
192.168.121.71 db1 hch_test_dbm2_121_71                                           
192.168.121.111 db2 bpe_service
192.168.121.24 db3 hch_test_web_1_24


在db1/db2/db3上建立复制账号:

mysql> SET SQL_LOG_BIN=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql>
mysql> GRANT REPLICATION SLAVE ON *.*  TO 'repl'@'192.168.%' IDENTIFIED BY 'rlpbright_1927@ys';
Query OK, 0 rows affected, 1 warning  (0.00 sec)
 
mysql>  
mysql> SET SQL_LOG_BIN=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql>

4,安装group replication插件

在db1、db2、db3上依次安装group replication插件

mysql> INSTALL PLUGIN group_replication  SONAME 'group_replication.so';                         
Query OK, 0 rows affected (0.01 sec)
 
mysql>

plugin-load=group_replication或者直接在配置文件my.cnf中配置:

查看group replication组件

mysql> show plugins;                                                                                                        
+----------------------------+----------+--------------------+----------------------+---------+
  

关键词:详细介绍MySQL Group Replication[Multi-Primary Mode]的搭建部署过程(图文)




Copyright © 2012-2018 360教程(http://www.360sd.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版