Percona XtraDB Cluster安装部署

来源:互联网 发布:java extend 编辑:程序博客网 时间:2024/05/22 09:44

Percona XtraDB Cluster可以用于实现Mysql的高可用性和扩展性,能够提供一下特性:
1.同步复制,事务在所有节点同时提交,不再是类似replication的异步复制;
2.多主对外提供读写服务;
3.主从服务器上并行运行事务,实现真正的可并发;
4.节点自动添加配置;

1.    安装环境:

OS:Redhat 6.5

Cluster:Percona-XtraDB-Cluster5.6.22-25

主节点:

hostname:mysql-pxc01

ip addr:192.168.48.11

备节点:

hostname:mysql-pxc02

ip addr:192.168.48.12

在/etc/hosts中添加各个主机信息

mysql-pxc01   192.169.48.11

mysql-pxc02   192.168.48.12

2.    安装软件包:

yum install mysql-libs-5.1.71-1.el6.i686
yum install perl-DBD-MySQL-4.013-3.el6.i686.rpm
yum install zlib-1.2.3-29.el6.i686.rpm
yum install zlib-devel-1.2.3-29.el6.i686.rpm
yum install openssl-1.0.1e-15.el6.i686.rpm
yum install openssl-devel-1.0.1e-15.el6.i686.rpm


yum install tcp_wrappers-7.6-57.el6.i686.rpm
rpm -ivh socat-1.7.2.1-1.el6.rf.i686.rpm


yum install perl-Time-HiRes-1.9721-136.el6.i686.rpm
yum install libaio-0.3.107-10.el6.i686.rpm
yum install libaio-devel-0.3.107-10.el6.i686.rpm
yum install rsync-3.0.6-9.el6_4.1.i686.rpm
rpm -ivh percona-xtrabackup-2.2.9-5067.el6.i686.rpm


rpm -ivh Percona-XtraDB-Cluster-client-56-5.6.22-25.8.978.el6.i686.rpm


rpm -ivh Percona-XtraDB-Cluster-galera-3-3.9-1.3494.rhel6.i686.rpm


yum install lsof-4.82-4.el6.i686.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-56-5.6.22-25.8.978.el6.i686.rpm
rpm -ivh Percona-XtraDB-Cluster-server-56-5.6.22-25.8.978.el6.i686.rpm

 

3.    关闭iptables和selinux

# chkconfig iptables off

# service iptables stop

# vi /etc/selinux/config

SELINUX=disabled

重启主机

 

4.    配置文件

Ø 创建数据目录

mkdir –p /mysqldata/data

Ø 更改目录权限

chown –R mysql:mysql /mysqldata

192.168.48.11的my.cnf

[mysqld]

datadir=/mysqldata/data

user=mysql

# Path to Galera library

wsrep_provider=/usr/lib/libgalera_smm.so

# Cluster connection URL containsthe IPs of node#1, node#2 and node#3

wsrep_cluster_address=gcomm://192.168.48.11,192.168.48.12

# In order for Galera to workcorrectly binlog format should be ROW

binlog_format=ROW

# MyISAM storage engine has onlyexperimental support

default_storage_engine=InnoDB

# This changes how InnoDBautoincrement locks are managed and is a requirement for Galera

innodb_autoinc_lock_mode=2

# Node #1 address

wsrep_node_address=192.168.48.11

# SST method

wsrep_sst_method=xtrabackup-v2

# Cluster name

wsrep_cluster_name=my_Redhat_cluster

# Authentication for SST method

wsrep_sst_auth="sstuser:s3cret"

wsrep_slave_threads=4

 

192.168.48.12的my.cnf

[mysqld]

datadir=/mysqldata/data

user=mysql

# Path to Galera library

wsrep_provider=/usr/lib/libgalera_smm.so

# Cluster connection URL containsthe IPs of node#1, node#2 and node#3

wsrep_cluster_address=gcomm://192.168.48.11,192.168.48.12

# In order for Galera to workcorrectly binlog format should be ROW

binlog_format=ROW

# MyISAM storage engine has onlyexperimental support

default_storage_engine=InnoDB

# This changes how InnoDBautoincrement locks are managed and is a requirement for Galera

innodb_autoinc_lock_mode=2

# Node #1 address

wsrep_node_address=192.168.48.12

# SST method

wsrep_sst_method=xtrabackup-v2

# Cluster name

wsrep_cluster_name=my_Redhat_cluster

# Authentication for SST method

wsrep_sst_auth="sstuser:s3cret"

wsrep_slave_threads=4

5.    第一个节点初始化数据库

5.1.  初始化数据库

# mysql_install_db --user=mysql --basedir=/usr --datadir=/mysqldata/data

 

5.2.  启动集群的第一个节点

# service mysql bootstrap-pxc

如果iptables和selinux没有关闭,此处会启动失败

5.3.  配置备份用户

第一个节点启动后,在启动第二个节点之前需要配置备份用户,否则第二个节点无法启动。因为第二个节点通过xtrabackup进行拉数据,需要通过配置文件中的sstuser用户。

Ø  更改root用户密码(强烈建议)

mysql> UPDATE mysql.user SET password=PASSWORD("xxxx")where user='root';

mysql> FLUSH PRIVILEGES;

Ø  创建SST传输用户

mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cret';

mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';

mysql> FLUSH PRIVILEGES;

6.    其它节点

其它节点无需初始化数据库,数据会从第一个节点上拉过来

# service mysql start

 


0 0
原创粉丝点击