环境:

node1:192.168.0.100  pxc节点

node2:192.168.0.101  新节点

把新加入的节点先建立为node1的从库,可以使用mysqldump或innobackupex来备份出数据,如果数据量不大,那么就使用mysqldump来备份(dump之前先建立复制帐号,这里只需要replication slave权限即可)。

mysqldump --master-data=2 --single-transaction -A > node1_db.sql

把新节点mysqld初始化一下,并导入node1 dump出的数据。注意:新节点配置从库时不要在my.cnf中配置PXC的参数。

导入数据后,把db.sql文件中的CHANGE MASTER语句找出来补全用户帐号,密码,IP,并在新节点上执行连接到node1上。等待mysql正常同步之后,show slave status查看到主从复制到了什么位置relay_master_log_file和exec_master_log_pos,记下来,然后把mysql的同步停掉,然后快速把mysqld停掉。然后在my.cnf中把PXC的配置全部加上。

然后找到从gcache的什么位置开始同步数据(根据前面show slave stauts记录的位置,假设binlog为003,position为4235),到从库的binlog目录下查看记录的binlog中的最后一个位置:

然后到node1节点上flush logs一下,然后找和从库同样的binlog file和position,通过从库的show slave status输出的position去主库找xid(也可以从从库的中继日志中找这个position中查找xid):

xid是mysql内部分布式XA事务的ID。xid是一个8字节的有序增长。

此时,查看主库的如下图文件:

然后把这个文件复制到从库,把seqno改为23(为上上图中4035对应的xid),注意修改文件权限为mysql用户可访问。

注意:要先从status中确认这个xid在不在gcache中:

上图中看到是从1开始,说明23在gcache里面。

此时,启动新节点的mysqld。如果启动输出没有报错,那就查看下错误日志。如果错误日志中没有错误,那么就表示PXC节点加入集群同步成功。

注意:启动新节点的时候最好是使用如下命令指定donor节点,指定新节点从哪里同步数据:

mysql_safe --wsrep-donor=node1

此时,之前建立的主从架构可以不需要了,可以直接reset slave all掉(已经没用了,PXC节点开始同步之后,主从复制已经无用了)。

注:

1.PXC节点对于同一张表的自增多节点insert,会自动根据节点数来设置自增步长和自增初始值。是为了防止并发insert造成数据冲突。

2.PXC环境一般用于对数据一致性比较高的环境。比如交易类的。

PXC(percona xtradb cluster)新加节点避免SST的方法的更多相关文章

  1. MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...

  2. 使用percona xtradb cluster的IST方式添加新节点

    使用percona xtradb cluster的IST(Incremental State Transfer)特性添加新节点,防止新节点加入时使用SST(State SnapShop Transfe ...

  3. mysql高可用之PXC(Percona XtraDB Cluster)

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1).同步复制,事务要么在所有节点提交或不提交 ...

  4. Percona XtraDB Cluster

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1.同步复制,事务要么在所有节点提交或不提交. ...

  5. Percona XtraDB Cluster简易入门 - 安装篇

    说明 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案.特点是每个节点都能进行读写,且都保存全量的数据.也就是说在任何一个节点进行写入操作 ...

  6. Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )

    Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题.那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同 ...

  7. Percona XtraDB Cluster(PXC) -集群环境安装

    Percona XtraDB Cluster(PXC)   ---服务安装篇   1.测试环境搭建: Ip 角色 OS PXC-version 172.16.40.201 Node1 Redhat/C ...

  8. Percona XtraDB Cluster(PXC) Mysql 集群

    Percona XtraDB Cluster(PXC)   ---原理介绍篇         目录 一.简介 1 二.优缺点 2 三.区别/局限性 3 四. PXC复制原理 4 五. 服务解释 5   ...

  9. PXC(Percona XtraDB Cluster)集群的安装与配置

    Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server .其包括了Write Set REPlication补丁,使用Galera ...

随机推荐

  1. ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格

    下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Ex ...

  2. 如何搭建开源code review gerrit服务器

    搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...

  3. 掌握Thinkphp3.2.0----SQL查询

    首先,先谈一下对查询的理解:查询的对象是数据库中的数据表,一个或多个:查询的限制就是各种条件或要求:查询的结果=表对象+限制(条件). 对数据表的操作(CRUD)查询是最复杂也是最关键的一步!'SEL ...

  4. sql server 游标 写给自己

    ) --定义两个局部变量 @id @name 全局变量是两个@@name ) Declare Cur Cursor For --定义一个游标 select id,name from temp1 --查 ...

  5. 非常适用的Sourceinsight插件,提高效率事半功倍

    一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满 ...

  6. Linux下browser-sync无法启动Chrome的解决方法

    笔者的环境: OS: Ubuntu Linux Browser: Chrome, Firefox 每次希望启动chrome浏览器,系统都会报错: browser-sync start -s --dir ...

  7. mongoperf

    官方文档 mongoperf is a utility to check disk I/O performance independently of MongoDB. It times tests o ...

  8. 鼠绘漫画 for wp8.1

    技术规格总结: 这个APP 总体上是下载图片的一个APP 所以对图片的查看&控制上需要一定功力,至少有一个稳定的缩小,放大的图片控件. 搭载WP系统的手机,内存上大部分不是很大,所以内存的控制 ...

  9. ActiveMQ简介

    ActiveMQ 1.ActiveMQ是什么ActiveMQ是Apache推出的一款开源的完全支持JMS1.1和J2EE1.4规范的JMS Provider实现的消息中间件(Message Orien ...

  10. LeetCode Add Strings

    原题链接在这里:https://leetcode.com/problems/add-strings/ 题目: Given two non-negative numbers num1 and num2  ...