首页 技术 正文
技术 2022年11月15日
0 收藏 629 点赞 3,957 浏览 5501 个字

在上一篇文章中,已经完成了三节点PXC集群的搭建,现在搭建node3的从库node4,并且有如下测试:

搭建node3的从库,代号node4

对比PXC集群与主从架构在一致性上的区别

测试1:

对比PXC集群与主从架构在一致性上的区别

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

测试2:

对比PXC集群与主从架构在一致性上的区别

先断开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这部分数据。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731