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

node1 172.17.20.127
node2 172.17.20.128
node3 172.17.20.129

安装相关yum源

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -ivh https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm

安装pxc

yum -y install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-client Percona-XtraDB-Cluster-shared percona-xtrabackup-

修改/etc/my.cnf配置文件,其他两台节点需要修改server_id和wsrep_node_address

[mysqld]
server_id=127 #其他节点需要修改
datadir=/data/mysql
socket=/data//mysql/mysql.sock
pid_file=/var/lib/mysql/mysql.pid
user=mysql
port=
default_storage_engine=InnoDB
character_set_server=utf8
log-error=/var/lib/mysql/mysql-error.log
slow_query_log=
slow_query_log_file=/var/lib/mysql/mysql-slow.log #INNODB/XtraDB
innodb_buffer_pool_size=
innodb_log_file_size= #PXC
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://172.17.20.127,172.17.20.128,172.17.20.129
binlog_format=ROW
innodb_autoinc_lock_mode=
wsrep_node_address=172.17.20.127 #其他节点需要修改
wsrep_sst_method=xtrabackup-v2  #同步工具
wsrep_cluster_name=my_mysql_cluster
wsrep_sst_auth="sstuser:s3cret"  #SST连接的用户名和密码

创建数据存储目录

mkdir -p /data/mysql/
chown mysql.mysql /data/mysql/

在node1启动PXC服务

/etc/init.d/mysql bootstrap-pxc   #成功后密码在日志文件里查到
SET PASSWORD = PASSWORD('123qwe'); #登陆MySQL修改密码。

在node1MySQL中创建SST同步用户

GRANT PROCESS,RELOAD,LOCK TABLES,REPLICATION CLIENT ON *.* TO 'sstuser'@'%' IDENTIFIED BY 's3cret';
flush privileges;
  • State Snapshot Transfer 是可以让one node (donor) 通过数据拷贝升级至joining node (joiner)。
    一个新节点加入至集群中,需要同步数据,那么SST可以传输数据,让新节点成为集群的一部分。
    SST的三个有效方法:mysqldump, rsync andxtrabackup。不过多解释,目前最好用的是xtrabackup

在node2,node3启动MySQL服务

/etc/init.d/mysql start

查看集群状态

show status like 'wsrep%'; 

然后测试数据写入和查询

Percona XtraDB Cluster 5.7安装配置的更多相关文章

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

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

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

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

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

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

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

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

  5. docker1.12 安装pxc(Percona XtraDB Cluster )测试

    docker1.12 安装pxc(Percona XtraDB Cluster )测试

  6. 如何搭建Percona XtraDB Cluster集群

    一.环境准备 主机IP                     主机名               操作系统版本     PXC 192.168.244.146     node1           ...

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

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

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

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

  9. PXC5.7(Percona XtraDB Cluster)+HAproxy+Keepalived 集群部署

    Percona-XtraDB-Cluster+Haproxy 搭建集群环境 环境准备及服务器信息: 配置防火墙 firewall-cmd --add-port=3306/tcp --permanent ...

随机推荐

  1. 标头停止点不能位于宏或#if块中.

    使用VS2010在项目中编写C++头文件**.h时提示: PCH 警告: 标头停止点不能位于宏或#if块中 原因:vs2010的智能感知要求.h必须以非#if系列的预编译指令打头 正确方法:将所有含有 ...

  2. 【Linux】小应用 大智慧

    小应用 大智慧--重视 以工程师的标准要求自己

  3. SQL 创建自定义方法,匹配正则

    C#代码 using System.Text.RegularExpressions; public class FunctionRegex { [Microsoft.SqlServer.Server. ...

  4. Java反射创建带构造参数的类 并执行方法

    部分代码 public void go(ServletRequest request,ServletResponse response){ String methodName = "inde ...

  5. FIFO认识(一)

    1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据 ...

  6. 一张图看懂微软Power BI系列组件

    一.Power BI简介 Power BI是微软最新的商业智能(BI)概念,它包含了一系列的组件和工具.话不多说,直接上图吧: Power BI的核心理念就是让我们用户不需要强大的技术背景,只需要掌握 ...

  7. 安卓Socket开发注意事项

    如果要在安卓app里用到Socket通信,要满足: 1.在写代码的activity里import进Socket相关的包,这个很easy,如果你不知道要import什么包,也可以先不指定,可       ...

  8. C语言 宏的定义

    #include <stdio.h> // NUM叫做宏名 // 6是用来替换宏名的字符串 #define NUM 6 #define mul(a, b) ((a)*(b)) void t ...

  9. 每天一个linux命令(21):chgrp,chown,chmod

    这三个命令都是改变文件属性与权限的,就放一起写了 charp:改变文件所属用户组 chown:改变文件所属者 chmod:改变文件的权限 一个文件对于owner,group ,others有不同的权限 ...

  10. 更改win7关机菜单选项功能

    说明:如果你不希望别人对你的电脑进行注销切换等操,那么可以使用如下的方法 实现效果:          实现步骤: 效果1 1>切换用户: 2>注销:(需重启资源管理器生效) 效果2: