对比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的放来进行搭建,最大的好处就是,多主多备,即主从一体,没有 ...
随机推荐
- The second day of Crawler learning
用BeatuifulSoup和Requests爬取猫途鹰网 服务器与本地的交换机制 我们每次浏览网页都是再向网页所在的服务器发送一个Request,然后服务器接受到Request后返回Response ...
- 利用Python实现高度定制专属RSS
前言 本文转载自个人博客网站,欢迎来访订阅.本篇属于定制RSS系列终极一弹,是三种方式中自由度最高.定制化最强的,也需要一定的编程能力.附上前两篇链接:1.利用Feed43为网站自制RSS源:2.如何 ...
- alpha week 1/2 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9916 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- 【python测试开发栈】帮你总结python random模块高频使用方法
随机数据在平时写python脚本时会经常被用到,比如随机生成0和1来控制逻辑.或者从列表中随机选择一个元素(其实抽奖程序也类似,就是从公司所有人中随机选择中奖用户)等等.这篇文章,就帮大家整理在pyt ...
- 【题解】SDOI2010所驼门王的宝藏(强连通分量+优化建图)
[题解]SDOI2010所驼门王的宝藏(强连通分量+优化建图) 最开始我想写线段树优化建图的说,数据结构学傻了233 虽然矩阵很大,但是没什么用,真正有用的是那些关键点 考虑关键点的类型: 横走型 竖 ...
- $SP15637\ GNYR04H\ -\ Mr\ Youngs\ Picture\ Permutations$
传送门 Description 杨先生希望为他的班级拍照.学生将排成一行,每行不超过后面的行,并且行的左端对齐.例如,可以安排12名学生排列(从后到前)5,3,3和1名学生. X X X X X X ...
- java通过freemarker模板导出pdf
需求:将网页内容导出为pdf文件,其中包含文字,图片,echarts图 原理:利用freemarker模板与数据渲染所得到的html内容,通过ITextRenderer对象解析html内容生成pdf ...
- 【汇编】1.汇编环境的搭建:DOSBox的安装
前言 DOSBox是一款在windows系统运行DOS程序的环境模拟器.可以解决在64位机中汇编程序编译调试等问题. 本文以 DOSBox 0.74 为例,汇编编译程序采用MASM6. 第一步下载相关 ...
- 2019年面试官最喜欢问的28道ZooKeeper面试题
前言 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. ZooKeeper 的 ...
- java架构之路(多线程)synchronized详解以及锁的膨胀升级过程
上几次博客,我们把volatile基本都说完了,剩下的还有我们的synchronized,还有我们的AQS,这次博客我来说一下synchronized的使用和原理. synchronized是jvm内 ...