环境:

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. JQuery控制滚动条滚动到指定位置

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. sublime work flow

    Tools -> Developer -> New Snippet <snippet> <content><![CDATA[ }() { ${} } ]]&g ...

  3. PyInstaller打包步骤简记

    pyinstaller 下载地址:http://www.pyinstaller.org/ 下载后用cmd进入解压文件夹 python setup.py install 安装. 最近用pyinstall ...

  4. JS操作cookie

    JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求.cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由Ja ...

  5. 10个核心的Linux面试问题与答案

    http://www.geekfan.net/8571/ compgen ­-c,可以打印出所有支持的命令列表使用Linux 命令dirs可以将当前的目录栈打印出来.使用linux命令 ’disown ...

  6. CS193P - 2016年秋 第一讲 课程简介

    Stanford 的 CS193P 课程可能是最好的 ios 入门开发视频了.iOS 更新很快,这个课程的最新内容也通常是一年以内发布的. 最新的课程发布于2016年春季.目前可以通过 iTunes ...

  7. Python开发【前端】:JavaScript

    JavaScript入门 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...

  8. 设计模式学习笔记c++版——单例模式

    特别注意单例模式c++实现在main.cpp中引用的时候要去申明下: Singleton * Singleton::m_Instance = NULL; //定义性声明 不然会报错:无法解析的外部符号 ...

  9. ios 配置https

    一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 . 我们还需要防止中间人攻击(不明白的自 ...

  10. hibernate 多表查询

    Hibernate主要支持两种查询方式:HQL查询和Criteria查询.前者应用较为广发,后者也只是调用封装好的接口. 现在有一个问题,就是实现多表连接查询,且查询结果集不与任何一个实体类对应,怎么 ...