你的位置:首页 > 操作系统

[操作系统]PXC(Percona XtraDB Cluster)集群的安装与配置


Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server 。其包括了Write Set REPlication补丁,使用Galera 2.0库,这是一个针对事务性应用程序的同步多主机复制插件。

Percona XtraDB Cluster特点:

  (1)同步复制,事务在所有集群节点要么同时提交,要么不提交。

  (2)多主复制,可以在任意一个节点写入。

  (3)从服务器上的并行应用事件,真正的“并行复制”。

  (4)自动配置节点。

  (5)数据一致性,没有不同步的从服务器。

实验系统:CentOS 6.6_x86_64

实验前提:防火墙和selinux都关闭,服务器上没有安装任何版本的MYSQL

实验说明:本实验共有3台主机,IP分配如拓扑

实验拓扑:

    

一、安装percona环境

  1.配置yum源:

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmyum -y epel*

  2.安装Percona软件:

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

  3.添加账户:

/etc/init.d/mysql bootstrap-pxc   //启动PXCmysql---------------------------------------->GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT ON *.* TO com@localhost IDENTIFIED BY '123456';FLUSH PRIVILEGES;
\q
<----------------------------------------
/etc/init.d/mysql stop

二、编辑PXC的节点配置:

  1.在19.66上:

vim /etc/my.cnf------------------------------------->
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76"
wsrep_sst_auth=com:123456
wsrep_cluster_name=Percona
wsrep_sst_method=xtrabackup-v2
wsrep_node_address=192.168.19.66
wsrep_slave_threads=2
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
<-------------------------------------
/etc/init.d/mysql bootstrap-pxc

  2.在19.74上:

vim /etc/my.cnf-------------------------------------->wsrep_provider=/usr/lib64/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76"wsrep_sst_auth=com:123456wsrep_cluster_name=Perconawsrep_sst_method=xtrabackup-v2wsrep_node_address=192.168.19.74wsrep_slave_threads=2innodb_locks_unsafe_for_binlog=1innodb_autoinc_lock_mode=2<--------------------------------------/etc/init.d/mysql start

  3.在19.76上:

vim /etc/my.cnf-------------------------------->wsrep_provider=/usr/lib64/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.19.66,192.168.19.74,192.168.19.76"wsrep_sst_auth=com:123456wsrep_node_address=192.168.19.76wsrep_cluster_name=Perconawsrep_sst_method=xtrabackup-v2wsrep_slave_threads=2innodb_locks_unsafe_for_binlog=1innodb_autoinc_lock_mode=2<--------------------------------
/etc/init.d/mysql start

  4.各节点上查看状态,保证如下几项没有问题:

mysql---------------------------------------------->SHOW STATUS LIKE '%wsrep%';+------------------------------+----------------------------------------------------------+| Variable_name        | Value                          |+------------------------------+----------------------------------------------------------+| wsrep_local_state_uuid    | a82bc530-3748-11e5-a4fc-c26f7c90839c           |
...| wsrep_local_state | 4 || wsrep_local_state_comment | Synced |...| wsrep_cluster_size | 3 || wsrep_cluster_status | Primary || wsrep_connected | ON |...| wsrep_ready | ON |+------------------------------+----------------------------------------------------------+

  5.测试:

    在19.66上:

CREATE DATABASE jason;USE jason;CREATE TABLE jjj (id int ,name char(10)) engine=innodb;COMMIT;

    在19.74上:

USE jason;
INSERT INTO jjj values (1,'22');
COMMIT;

    在19.76上:

USE jason;SELECT * FROM jjj;

    

  在任意服务器均可读写,其他操作大家可以自行尝试。至此实验成功,谢谢!如有问题,请联系我,QQ:82800452