zoukankan      html  css  js  c++  java
  • MySQL--Percona-XtraDB-Cluster使用xtrabackup来添加节点

    虽然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=3306 
    --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:   -1
    safe_to_bootstrap: 0

    修改文件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%';

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

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

    赶班车,走人,周末快乐

  • 相关阅读:
    Mybatis详解(二)
    Mybatis详解(一)
    Java集合
    Java基础之IO
    Java异常知识点!
    HTTP状态码
    ajax传字符串时出现乱码问题的解决
    Json 文件 : 出现 Expected value at 1:0 问题的解决
    java @XmlTransient与@Transient区别
    文件的上传和回显
  • 原文地址:https://www.cnblogs.com/TeyGao/p/6814764.html
Copyright © 2011-2022 走看看