环境:

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. 在SQL语句中加入时间比较作为查询条件

    select * from 表名 where 列名 = ? and DATEDIFF(hh,时间列,'2016-08-22 15:05:59.000')<9

  2. web系统访问频率限制

    无论是spring mvc还是struts,都可以为controller或者aciton执行前,增加拦截器. 通过拦截器中的逻辑控制,可以实现访问频率的限制. 首先构造访问频率数据类 class Fr ...

  3. SQL JOIN\SQL INNER JOIN 关键字\SQL LEFT JOIN 关键字\SQL RIGHT JOIN 关键字\SQL FULL JOIN 关键字

    SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表 ...

  4. Xamarin.Android 应用程序配置

    * 在 Xamarin 中 Android 清单文件的内容一般不通过手动编辑,而是由编译器根据 项目属性设置 和 一系列 特性类 自动生成 1. 应用程序在android启动器中显示的名称设置: 主活 ...

  5. VC中对文件的读写

    http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2.电脑处理 ...

  6. redis3.2 Jedis java操作

    package com.util; import java.util.HashSet; import java.util.List; import java.util.Map; import java ...

  7. ASP.NET Core 添加日志NLog

    1.在Nuget上搜索 NLog.Extensions.Logging 安装最新版 2.添加日志配置文件,在项目指定目录下添加配置文件nlog.config,内容添加如下: <?xml vers ...

  8. json转bean对象

    一下为个人收藏,以便下次使用. 前端传的json格式为: [{"suppliercode":"gylhld_gycqlt3_gycqlt1","pro ...

  9. php代码性能分析方法

    1.用到的函数 microtime() ,函数返回当前 Unix 时间戳和微秒数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00 ...

  10. http://www.cnblogs.com/holly8/p/6178828.html

    http://www.cnblogs.com/holly8/p/6178828.html