对比PXC集群与主从架构在一致性上的区别
在上一篇文章中,已经完成了三节点PXC集群的搭建,现在搭建node3的从库node4,并且有如下测试:
搭建node3的从库,代号node4

测试1:

先断开node3节点,然后在node1构造数据,再连接上node3,查看同步情况。发现node1、node2、node3、node4所有节点数据一致。
测试2:

先断开node4节点,然后在node1构造数据,再连接上node4,查看同步情况。发现node1、node2、node3数据一致,node4缺失断开期间的数据。
结论:
pxc架构会始终在各节点间同步数据,最终使得各节点间的所有数据保持一致。主从结构,只有保持主从结构时,从库会同步主库的数据,断开主从结构后,从库忽略断开后主库的数据。
操作记录
|
node1 |
node2 |
node3 |
node4 |
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) |
|
mysql> create database a; |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) |
|
# systemctl stop mysqld |
|||
|
mysql> create database b; |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | b | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | b | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | a | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) |
|
|
# systemctl start mysqld |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | a | | b | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | a | | b | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) |
||
|
#在这里测试1,完成。发现只要节点连接到PXC集群中,就会自动与其他节点同步数据 |
|||
|
# mysqladmin -uroot -p123456 shutdown |
|||
|
mysql> create database c; |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | b | | c | | mysql | | performance_schema | | sys | +--------------------+ 7 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | b | | c | | mysql | | performance_schema | | sys | +--------------------+ 7 rows in set (0.00 sec) |
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | b | | c | | mysql | | performance_schema | | sys | +--------------------+ 7 rows in set (0.00 sec) |
|
|
# nohup /mysqldb/base/bin/mysqld_safe --defaults-file=/mysqldb/config/my.cnf --user=mysql >/dev/null 2>&1 & |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | a | | b | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.01 sec) |
|||
|
mysql> show slave status\G; Slave_IO_Running: No Slave_SQL_Running: No #此时node4虽然启动,但主从状态已经断开,需要重建主从关系, |
|||
|
show master status\G; ******* 1. row ******* File: host-192-168-164-124-bin.000016 Position: 344 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: d54ad7f4-3b89-ee17-4ffd-b062a2fc55ab:1-9 |
|||
|
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.164.124', -> MASTER_USER='repl', -> MASTER_PASSWORD='123456', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='host-192-168-164-124-bin.000016', -> MASTER_LOG_POS=344, -> MASTER_CONNECT_RETRY=10; |
|||
|
mysql> start slave; |
|||
|
mysql> show slave status\G; Slave_IO_Running: Yes Slave_SQL_Running: Yes |
|||
|
mysql> show databases; +--------------------+ | Database | +--------------------+ | a | | b | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) |
|||
|
#虽然手动完成主从重建,但依然丢失了部分数据,解决方法也简单,去BINLOG找到对应POS点,从POS点开始重建主从,从库就能rely这部分数据。 |
|||
对比PXC集群与主从架构在一致性上的区别的更多相关文章
- redis集群之主从架构
https://redis.io/topics/replication1. redis主从架构概述(1)一个master可以配置多个slave(2)slave与master之间使用异步复制进行数据同步 ...
- PXC集群资料整理
1.mysql集群方案对比 方案1 NDBCluster 参考:https://www.cnblogs.com/kevingrace/p/5685371.html?utm_source=itdad ...
- Docker搭建MySQL的PXC集群
原文:Docker搭建MySQL的PXC集群 一.简介 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galer ...
- PXC集群的概述及搭建
目录 PXC集群的概述及搭建 PXC集群的简介 PXC集群主要由两部分组成: PXC的特性和优点: PXC的局限和劣势: PXC原理描述 在Centos部署基于Mysql高可用方案操作过程 新增节点加 ...
- Docker下配置双机热备PXC集群
架构: 步骤: 1.安装centos7 ,设置宿主机IP:192.168.1.224 2.先更新yum软件管理器,再安装docker 1.yum -y update 2.yum install - ...
- MySQL PXC集群部署
安装 Percona-XtraDB-Cluster 架构: 三个节点: pxc_node_0 30.0.0.196 pxc_node_1 30.0.0.198 pxc_node_2 30.0.0.19 ...
- MySQL之PXC集群搭建
一.PXC 介绍 1.1 PXC 简介 PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实 ...
- Mysql集群和主从
1.Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能. 需要用到mysql cluster安装包,在集群中的每一个机器上安装. 有三个关键概 ...
- docker安装pxc集群
前言 现在mysql自建集群方案有多种,keepalived.MHA.PXC.MYSQL主备等,但是目前根据自身情况和条件,选择使用pxc的放来进行搭建,最大的好处就是,多主多备,即主从一体,没有 ...
随机推荐
- 0010 CSS字体样式属性:font-size、font-family、Unicode字体、font-weight、font-style、综合设置、color、 text-align、line-height、text-indent、text-decoration、、、
CSS字体样式属性.调试工具 目标 应用 使用css字体样式完成对字体的设置 使用css外观属性给页面元素添加样式 使用常用的emment语法 能够使用开发人员工具代码调试 1.font字体 1.1 ...
- 通过nginx搭建基于python的web环境
前言: 在搭建开始前,我们先来梳理下web服务工作流程,先看下图: 1.用户(PC)向web服务器发起http请求 2.web服务器判断用户请求文件是否为静态文件,是则直接读取静态文件并返回给用户,不 ...
- vue学习笔记(四)事件处理器
前言 在上一章vue学习笔记(三)class和style绑定的内容中,我们学习了如何在vue中绑定class和style,介绍了常用的绑定方法,class的数组绑定和对象绑定以及style的数组绑定和 ...
- mysql:数据库与实例的区别
题记:最近想更深入的了解mysql,所以买了一些书在学习,趁着这个机会开个坑,整理一下一些我认为重要的知识点. 刚工作那会经常能听到组长提到实例这个词,一开始我以为是服务器... 数据库(databa ...
- loongson编译所遇问题
环境:虚拟机VMware +Ubuntu18.04+gcc4.9.3 使用gcc4.9.3编译时出错,提示需要运行命令:make -C /work/loongson0103/vUDK2018-loon ...
- Java 从入门到进阶之路(二十一)
在之前的文章我们介绍了一下 Java 中的日期操作,本章我们来看一下 Java 集合框架中的Collection. 早在 Java 2 中之前,Java 就提供了特设类.比如:Dictionary, ...
- C#操作注册表(简单方便,兼容X32和X64)
C#操作注册表(简单方便,兼容X32和X64) 大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容32位系统和64位系统. 一般大家用C#操作注册的方法是使用命名空间Microsoft ...
- 网络、TCP协议与UDP协议
1.网络模型 (1)什么是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外 ...
- vs推送git失败,修改git下config的Log
一开始写完程序套推送到Git中,然后就来了一下,下面的异常: 异常1 发布到远程存储库时遇到错误: Git failed with a fatal error. fatal: HttpRequestE ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...