安装环境:

有三台干净的CentOS 6的服务器,IP配置为:192.168.166.169,192.168.166.170,192.168.166.171,准备搭建三节点的Percona XtraDB Cluster

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

相关安装包下载:

https://www.percona.com/downloads/

也可以先使用yum install 来安装percona-release-0.1-4.noarch.rpm的包:

yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm

然后使用yum download获取最新的包及依赖包:

yum -y install --downloadonly Percona-XtraDB-Cluster-56

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

在每个群集节点上进行以下安装

使用yum安装依赖的包:

yum -y install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes nc rsync libaio numactl lsof

使用RPM安装:

rpm -ivh libev-4.03-3.el6.x86_64.rpm
rpm -ivh compat-readline5-5.2-17.1.el6.x86_64.rpm
rpm -ivh socat-1.7.2.3-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-2.2.12-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-debuginfo-2.2.12-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-test-2.2.12-1.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-galera-3-3.20-2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-client-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-devel-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-server-56-5.6.35-26.20.2.el6.x86_64.rpm

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

修改各群集节点上/etc/my.cnf增加以下信息:

  1. [mysqld]
  2.  
  3. datadir=/var/lib/mysql
  4. socket=/var/lib/mysql/mysql.sock
  5. user=mysql
  6.  
  7. skip-host-cache
  8. skip-name-resolve
  9.  
  10. server_id=1
  11. wsrep_node_name=pxc1
  12. wsrep_provider=/usr/lib64/libgalera_smm.so
  13. wsrep_cluster_address="gcomm://192.168.166.169,192.168.166.170,192.168.166.171"
  14. wsrep_sst_auth="sstuser:s3cret"
  15. wsrep_provider_options="gcache.size=4G"
  16. wsrep_cluster_name=Percona
  17. wsrep_sst_method=rsync
  18. wsrep_slave_threads=4
  19. log_slave_updates
  20. innodb_locks_unsafe_for_binlog=1
  21. innodb_autoinc_lock_mode=2

各群集节点上server_id和wsrep_node_name设置为不同的值

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

群集的第一个节点不需要进行数据同步,使用bootstrap启动,等同于将wsrep_cluster_address方式设置为gcomm://

假设将192.168.166.169当做第一个群集节点,使用下面方式启动:

  1. ## 在CentOS6下,使用下面方式启动第一个节点
  2. /etc/init.d/mysql bootstrap-pxc
  3.  
  4. ##在CentOS7下,使用下面方式启动第一个节点
  5. systemctl start mysql@bootstrap.service

对于PXC 5.6版本,安装后的root默认密码为空,对于PXC 5.7版本,默认root密码写入到/var/log/mysqld.log,可以使用cat /var/log/mysqld.log |grep password来查看

第一个节点启动后,应该修改root账号密码,并新增群集同步的账号密码,登录第一个启动节点,执行下面脚本:

  1. ##更新root账号密码
  2. UPDATE mysql.user
  3. SET Password=PASSWORD('Abc@123')
  4. WHERE user='root';
  5. FLUSH PRIVILEGES;
  6.  
  7. ## 创建wsrep_sst_auth使用的账号
  8. CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cret';
  9. GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
  10. FLUSH PRIVILEGES;

PXC 5.7版本中mysql.user表的密码字段更新为authentication_string,需要使用ALTER语句来更改

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

对于群集的第二或第N个节点,采用普通的方式启动:

  1. ## 在CentOS6下使用下面方式启动第二节点:
  2. /etc/init.d/mysql start
  3.  
  4. ## 在CentOS7下使用下面方式启动第二节点:
  5. systemctl start mysql

启动成功后,会自动从第一个节点同步数据,因此无需在第二或第N个节点上修改root账号,可以直接使用第一节点上更新后的root账号密码登录。

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

搭建时遇到的问题:

当wsrep_sst_method设置为mysqldump或xtrabackup时,会报如下错误:

  1. [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
  2. [ERROR] WSREP: SST script aborted with error 32 (Broken pipe)
  3. [ERROR] WSREP: SST failed: 32 (Broken pipe)
  4. [ERROR] Aborting

因此对于新创建的群集,推荐使用rsync来搭建

相关参考连接:

https://www.percona.com/doc/percona-xtradb-cluster/5.6/wsrep-system-index.html#wsrep_sst_method

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

打完收工

MySQL--Percona-XtraDB-Cluster 5.6安装笔记的更多相关文章

  1. Percona XtraDB Cluster简易入门 - 安装篇

    说明 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案.特点是每个节点都能进行读写,且都保存全量的数据.也就是说在任何一个节点进行写入操作 ...

  2. Percona XtraDB Cluster 5.7安装配置

    优点:1.准同步复制2.多个可同时读写节点,可实现写扩展,较分片方案更进一步3.自动节点管理4.数据严格一致5.服务高可用缺点:1.只支持innodb引擎2.所有表都要有主键3.所有的写操作都将发生在 ...

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

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

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

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

  5. Percona XtraDB Cluster(PXC) -集群环境安装

    Percona XtraDB Cluster(PXC)   ---服务安装篇   1.测试环境搭建: Ip 角色 OS PXC-version 172.16.40.201 Node1 Redhat/C ...

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

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

  7. Percona XtraDB Cluster

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

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

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

  9. PXC(Percona XtraDB Cluster)集群的安装与配置

    Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server .其包括了Write Set REPlication补丁,使用Galera ...

  10. 搭建mysql集群,使用Percona XtraDB Cluster搭建

    Percona XtraDB Cluster提供的特性有:1.同步复制,事务要么在所有节点提交或不提交.2.多主复制,可以在任意节点进行写操作.3.在从服务器上并行应用事件,真正意义上的并行复制.4. ...

随机推荐

  1. Python 常用模块之re 正则表达式的使用

    re模块用来使用正则表达式.正则表达式用来对字符串进行搜索的工作.我们最应该掌握正则表达式的查询,更改,删除的功能.特别是做爬虫的时候,re模块就显得格外重要. 1.查询 import re a = ...

  2. [转]Firefox+Burpsuite抓包配置(可抓取https)

    0x00 以前一直用的是火狐的autoproxy代理插件配合burpsuite抓包 但是最近经常碰到开了代理却抓不到包的情况 就换了Chrome的SwitchyOmega插件抓包 但是火狐不能抓包的问 ...

  3. swift NSdata 转换 nsstring

    result = NSString(data: data, encoding: NSUTF8StringEncoding) 做HTTP 请求时 遇到 打印结果看  所以~~~

  4. H.264, MPEG4之间的关系

    百度百科搜索 H.264 H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式.H.264是ITU-T以H.26x系列为名称命名的视频编解码技 ...

  5. ServiceDesk Plus更有序地组织IT项目

  6. virtual、abstract、interface区别以及用法

    virtual 用于在基类中的使用的方法,使用的情况为:      情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法. ...

  7. 计算误差函数的积分--erf(x)

    注意exp(-x^2-y^2) 可以拆成exp(-x^2) * exp(-y^2) 对 dx积分时,另外一个可以当常数提出到积分号外,另外 -b到b的积分看做常数提取到积分号外

  8. Livelock

    Unlike deadlock, livelocked packets continue to move through the network, but never reach their dest ...

  9. 研究生flag

    是时候定个计划了,感觉日子一天天水,不加油学点东西,迟早要掉队…… 刷刷算法题库吧,貌似选几个管用的刷刷——https://hihocoder.com/problemset 争取明年三月份的PAT顶级 ...

  10. java学习2打架代码编写

    在同一个包中的Player类 package work; public class Player { private String name; private int hp; private int ...