Percona XtraDB Cluster 5.6安装配置步骤

Percona XtraDB Cluster(简称PXC集群)提供了MySQL高可用的一种实现方法。

1.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上。

2.每个节点都是普通的mysql/percona服务器,可以将现有的数据库服务器组成集群,反之,也可以将集群拆分成单独的服务器。

3.每个节点都包含完整的数据副本。

PXC集群主要由两部分组成:Percona Server with XtraDB和Write Set Replication patches(使用了Galera library,一个通用的用于事务型应用的同步、多主复制插件)。

PXC特性:

1,同步复制,事务要么在所有节点提交或不提交。
2,多主复制,可以在任意节点进行写操作。
3,在从服务器上并行应用事件,真正意义上的并行复制。
4,节点自动配置,数据一致性,不再是异步复制。

PXC劣势:

1、 当前版本(5.6.20)的复制只支持InnoDB引擎,其他存储引擎的更改不复制。然而,DDL(Data Definition Language) 语句在statement级别被复制,并且,对mysql.*表的更改会基于此被复制。例如CREATE USER...语句会被复制,但是 INSERT INTO mysql.user...语句则不会。(也可以通过wsrep_replicate_myisam参数开启myisam引擎的复制,但这是一个实验性的参数)。

2、PXC集群一致性控制机制,事有可能被终止,原因如下:集群允许在两个节点上同时执行操作同一行的两个事务,但是只有一个能执行成功,另一个会被终止,集群会给被终止的客户端返回死锁错误(Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).

3、写入效率取决于节点中最弱的一台,因为PXC集群采用的是强一致性原则,一个更改操作在所有节点都成功才算执行成功。

环境介绍:

操作系统版本:CentOS-6.5-X64

数据库版本:Percona-Server-5.6.15-rel63.0.tar

192.168.3.81          node1 

192.168.3.82          node2 

192.168.3.83          node3 

1.安装 Percona mysql(所有节点安装)

安装源

rpm -ivh Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装Precona XtraDB Cluster所需要的扩展包

yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bisonlibtool ncurses5-devel boost

安装perl组件(xtrabackup需要的组件)

yum -y install perl-DBD-MySQL  perl-DBI  perl-Time-HiRes

安装socat (Socat是一个在两个独立数据的双向传输之间起到中继作用的软件)

配置好epel源之后,可直接执行 yum -y install socat
若无法yum安装socat,则按照以下步骤编译安装
wget 
tar zxvf  socat-1.7.2.4.tar.gz
./configure
make && make install
 
安装Percona-XtraDB-Cluster及其相关组件
wget

rpm -ivh percona-release-0.0-1.x86_64.rpm

yum -y install Percona-Server-shared-56 Percona-Server-client-56 Percona-Server-server-56

二.初始化Percona-XtraDB-Cluster集群
Percona mysql配置文件修改

配置 /etc/my.cnf,(所有节点安装):

# vim /etc/my.cnf
 
[mysqld]
innodb_buffer_pool_size = 1024M      //innodb_buffer_pool_size内存的80%
datadir = /data/mysql
port = 3306
server_id = 81                        //server_id必须要不一样
socket = /tmp/mysql.sock
log-bin=mysql-bin
expire_logs_days = 10
sort_buffer_size = 1M
join_buffer_size = 1M
query_cache_size = 512M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
thread_stack = 192K
tmp_table_size = 246M
max_heap_table_size = 246M
key_buffer_size = 300M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
slow_query_log = 1
log-error = /data/mysql/log/error.log
long_query_time = 2
log-queries-not-using-indexes = ON
slow_query_log_file = /data/mysql/log/slowquery.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
general_log = 1                                    //数据库执行日志开关,一般不打开
general_log_file = /data/mysql/log/mysql-general.log //数据库执行日志文件,一般不打开

创建所需目录,(所有节点安装):

mkdir -p /data/mysql/log

chown mysql.mysql /data/mysql/log

初始化数据库,(所有节点安装):

mysql_install_db --user=mysql --datadir=/data/mysql
/etc/init.d/mysql start
mysqladmin -u root password '123456' -S /tmp/mysql.sock  //首次修改mysql密码
删除原有软件包,(所有节点安装):
因为XtraDB Cluster的软件包与原有软件包冲突:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5d3e055b8dd8fd788eeaf818f145decb.html