环境:

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. Nodejs:fs模块 & rimraf模块

      模块fs:可以通过他管理文件系统,文件的写入,删除等操作 模块rimraf: 递归删除文件的node插件,在项目的文件编译之前,可以清除dist文件夹里的内容   API样例: var fs = ...

  2. 获取EMF文件内全部文字, 并按照左上到右下的顺序排序

    因为工作要求, 需要对EMF文件文字内容做分析.....SO, 如下代码出现了 懒得加注释了, 反正对外接口属性就那么几个, 根据英文猜吧, 很容易的 说明一下: 这个东西结果会对所有文字内容按照左上 ...

  3. 关于IOS的唯一标识总结

    APPLE官方宣布在2013年5月后,使用 UUID的APP将不能通过审核,同时APPLE增加了广告标识符(IDFA)和IDFV. 1.有什么方法获取UUID? //CFUUID CFUUIDRef ...

  4. iOS10 适配、Xcode8配置总结

    随着iOS10的推送更新到来,勤劳的程序员又在加班加点的搬砖了,为此收集了一些iOS10 更新的技能给大伙参考,不断更新喜欢就star 前沿 一.Xcode8 插件你去哪了 以为是和之前一样 Xcod ...

  5. http协议中用于上传多个文件的 multipart 字段

    大家好,我是许飞,微软拼音的开发实习生.在网络编程中,经常用到从服务器上“下载”一些数据,有时却要向服务器“上传”数据.曾在一个原型中使用了“multipart/form-data”格式向Web服务器 ...

  6. wordpress取文章时间

    wordpress的时间处理, 取文章的本地时间用get_the_time('c'),其中c可以用“D, d M Y H:i:s"等替代. 取文章的UTC时间用get_post_time(' ...

  7. golang print struct with key

    https://play.golang.org/p/YMfpuluzef 判断结构体是否为空 打印带attribute(key) 的结构体 package main import ( "fm ...

  8. 使用"关键词"来整理自己的知识库

    以前一直使用MyBase作为整理知识的工具,但是用到后来发现,当整理的知识越来越多时,树形目录的节点个数就会变得越来越庞大,层次越来越深,反而很难定位要查看或编辑的知识.最近发现使用"关键字 ...

  9. isKindOfClass和isMemberOfClass的区别

    isKindOfClass和isMemberOfClass的区别 isKindOfClass和isMemberOfClass 都是NSObject的比较Class的方法 但两个有很大区别: isKin ...

  10. C# 迪杰斯特拉算法 Dijkstra

    什么也不想说,现在直接上封装的方法: using System; using System.Collections.Concurrent; using System.Collections.Gener ...