虽然PXC支持在线增加群集节点,但是目前尚未解决wsrep_sst_method=xtrabackup 或wsrep_sst_method=mysqldump时报错的问题,因此尝试手动完成xtrabackup备份和恢复并添加到群集节点。

场景:

有三台干净的CentOS 6的服务器,IP配置为:192.168.166.169,192.168.166.170,192.168.166.171,准备搭建三节点的Percona XtraDB Cluster,目前192.168.166.169,192.168.166.170已加入到群集,准备将192.168.166.171加入到群集中。

192.168.166.169的wsrep_node_name为pxc1,

192.168.166.170的wsrep_node_name为pxc2,

192.168.166.171的wsrep_node_name为pxc3,

============================================

首先在服务器192.168.166.170上备份,使用galera-info来获取备份时的群集序列号:

/usr/bin/innobackupex --defaults-file="/etc/my.cnf" \
--host="localhost" \
--port= \
--user="sstuser" \
--password="s3cret" \
--socket="/var/lib/mysql/mysql.sock" \
--galera-info \
"/pxc_backup/"

将备份复制到192.168.166.171上,切换到备份目录下,执行恢复:

innobackupex --apply-log ./

恢复完成后,可以看到一个xtrabackup_galera_info,该文件中存放备份时的群集序列号

本次demo中xtrabackup_galera_info数据为:

5f3c567e-033f-11e6-a67c-67e2991c9c84:13

从192.168.166.169或192.168.166.170复制文件grastate.dat到192.168.166.171上

默认rpm安装下,grastate.dat路径为:/var/lib/mysql

然后在192.168.166.171上修改grastate.dat文件中的值为xtrabackup_galera_info数据:

# GALERA saved state
version: 2.1
uuid: 5f3c567e-033f-11e6-a67c-67e2991c9c84
seqno: -
safe_to_bootstrap:

修改文件mysql数据目录的权限

chown -R mysql:mysql /var/lib/mysql

编辑mysql配置文件/etc/my.cnf

然后分别到192.168.166.169和192.168.166.170上执行下面命令来查看各节点上保存的最小序列号:

show global status like 'wsrep_local_cached_downto';

假设192.168.166.170上的最小序列号低于xtrabackup_galera_info数据,则证明可以利用192.168.166.170来做增量同步,而192.168.166.170的wsrep_node_name为pxc2,因此启动pxc3节点的脚本为:

service mysql start --wsrep_sst_donor=pxc2

启动成功:

ERROR! MySQL (Percona XtraDB Cluster) is not running, but lock file (/var/lock/subsys/mysql) exists
Starting MySQL (Percona XtraDB Cluster).... SUCCESS!

登录MySQL查看状态:

show status like 'wsrep%';

插入测试数据验证群集同步是否正常。

============================================

赶班车,走人,周末快乐

MySQL--Percona-XtraDB-Cluster使用xtrabackup来添加节点的更多相关文章

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

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

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

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

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

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

  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 vs Galera Cluster vs MySQL Group Replication

    Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication Overview Galera Cluster 由 Coders ...

  7. 搭建高可用mysql系列(1)-- Percona XtraDB Cluster介绍

    Percona XtraDB Cluster (下文简称PXC)是一个开源的mysql 高可用解决方案.它将Percona Server和Percona XtraBackup与Galera库集成在一起 ...

  8. Percona XtraDB Cluster(PXC) Mysql 集群

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

  9. 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装

    本文主要介绍在 centos 下 Percona XtraDB Cluster(下文简称PXC) 的安装, 个人的系统版本信息如下: [root@c2-d09 worker]# more /etc/r ...

随机推荐

  1. 爬虫初窥day4:requests

      Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 ...

  2. 一个机器上运行两个tomcat

    一.   在一台计算机上配置2个tomcat是可以的,关键是tomcat里的server.xml文件中三个端口必须不同.需要修改conf/server.xml使两个tomcat占用的端口不相同,在缺省 ...

  3. Socket 学习笔记 01 常用函数

    常用方法 创建套接字: socket()    绑定本机端口: bind()    建立连接: connect(),accept()    侦听端口: listen()    数据传输: send() ...

  4. 【NIFI】 开发自定义Nifi Processor

    本例需要基础知识:[NIFI] Apache NiFI 安装及简单的使用 Nifi不光可以使用自带的Processor,还可以自定义Processor.本例简单介绍开发一个Processor 开发 1 ...

  5. [C#.net]Connection Timeout和Command Timeout

    每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种: 当从连接池获取一个连接时,碰到超时. 当 ...

  6. linux安装dpkg安装缺少依赖项的解决

    问题: dpkg: error processing package rxvt:i386 (--install): dependency problems - leaving unconfigured ...

  7. 27 isinstance与issubclass、反射、内置方法

    isinstance与issubclass issubclass:判断子类是否属于父类,是则返回True,否则返回False isinstance:判断对象是否属于类,是则返回True,否则返回Fal ...

  8. 学会谈判zz

    经常有人问我,为什么谈判到你手里就变得那么容易?你有什么诀窍?其实只要是谈判,涉及双方利益,就绝不会轻松.之所以能谈判成功,仔细想想秘诀无非是两个字:“双赢”.要想成功,就要双方都受益.如果你一开始就 ...

  9. idea如何将项目以eclipse保存

    会生成 提交到svn     eclipse 导入 首先使用TortoiseSVN下载要导入的项目 导入 已经存在的maven 项目       clean install -DskipTests t ...

  10. C++航空系统

    /* * SHA-256 implementation, Mark 2 * * Copyright (c) 2010,2014 Ilya O. Levin, http://www.literateco ...