Percona系列之Percona XtraDB Cluster 5.6安装配置02

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: Percona集群制定的服务器节点如下: node #1 hostname: pzsd01 IP: 10.1.11.14 node #2 hostname: pzsd02 IP: 10.
Percona集群制定的服务器节点如下:
node #1
hostname: pzsd01
IP: 10.1.11.14

node #2
hostname: pzsd02
IP: 10.1.11.15

node #3
hostname: pzsd03
IP: 10.1.11.16

*先决条件

   *所有节点都是安装了Linux CentOS 6.4
   *防火墙关闭
   *selinux disabled

*安装
   
  •  部署percona和epel知识库
  
    rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
    rpm -Uvh  http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm


安装Percona XtraDB Cluster
    
    yum install Percona-XtraDB-Cluster-56

*配置三个服务器节点

    对第一个节点10.1.11.14进行配置,配置文件/etc/my.cnf

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://10.1.11.15,10.1.11.16,10.1.11.17

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #1 address
wsrep_node_address=10.1.11.15

# SST method
wsrep_sst_method=xtrabackup-v2

# Cluster name
wsrep_cluster_name=my_centos_cluster

# Authentication for SST method
wsrep_sst_auth="sstuser:s3cret"

     配置完之后,第一个节点启动,使用如下命令:
[root@percona1 ~]# /etc/init.d/mysql bootstrap-pxc
     这条命令可以通过这个wsrep_cluster_address=gcomm://10.1.11.15,10.1.11.16,10.1.11.17。启动集群,percona集群将会被引导。

     第一个节点,启动之后,可以通过下列命令来验证
 
 
mysql> show status like 'wsrep%'; 
+----------------------------+--------------------------------------+
| Variable_name              | Value                                |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid     | c2883338-834d-11e2-0800-03c9c68e41ec |
...
| wsrep_local_state          | 4                                    |
| wsrep_local_state_comment  | Synced                               |
...
| wsrep_cluster_size         | 3                                    |
| wsrep_cluster_status       | Primary                              |
| wsrep_connected            | ON                                   |
...
| wsrep_ready                | ON                                   |
+----------------------------+--------------------------------------+
     有如上的输出,说明集群已经被正确的引导

     设置root账号的密码如下:
mysql@percona1>UPDATE mysql.user SET password=PASSWORD("Passw0rd") where user='root';
mysql@percona1>FLUSH PRIVILEGES;
     为了可以正确的执行 State Snapshot Transfer  using  XtraBackup,我们需要如下的权限用户:
mysql@percona1>CREATE USER'sstuser'@'localhost' IDENTIFIED BY 's3cret';
mysql@percona1>GRANTR ELOAD,LOCKTABLES,REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql@percona1>FLUSH PRIVILEGES;
        *****SST的解释
        State Snapshot Transfer 是可以让one node (donor) 通过数据拷贝升级至joining node (joiner)。
        一个新节点加入至集群中,需要同步数据,那么SST可以传输数据,让新节点成为集群的一部分。
        SST的三个有效方法:mysqldump, rsync andxtrabackup。不过多解释,目前最好用的是xtrabackup
        
        配置第二个节点,/etc/my.cnf 文件配置如下:

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so

# Cluster connection URL contains IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://10.1.11.15,10.1.11.16,10.1.11.17

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #2 address
wsrep_node_address=10.1.11.16

# Cluster name
wsrep_cluster_name=my_centos_cluster

# SST method
wsrep_sst_method=xtrabackup-v2

#Authentication for SST method
wsrep_sst_auth="sstuser:s3cret"

        第二个节点,通过下列命令启动服务
[root@percona2 ~]# /etc/init.d/mysql start
        这个节点会自动同步数据基于SST,ROOT用户名和密码都同步了第一个节点。

        配置第三个节点,/etc/my.cnf 文件配置如下:

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so

# Cluster connection URL contains IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://10.1.11.15,10.1.11.16,10.1.11.17

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node #3 address
wsrep_node_address=10.1.11.17

# Cluster name
wsrep_cluster_name=my_centos_cluster

# SST method
wsrep_sst_method=xtrabackup-v2

#Authentication for SST method
wsrep_sst_auth="sstuser:s3cret"

        第三个节点,通过下列命令启动服务
[root@percona2 ~]# /etc/init.d/mysql start

*测试REPLICATION

创建数据库在第二个节点上面。

mysql@percona2>CREATE DATABASE percona;
Query OK,1 row affected(0.01sec)

创建example表在第三个节点上面:

mysql@percona3>USE percona;
Database changed 
mysql@percona3>CREATE TABLE example( node_id INT PRIMARY KEY,node_name VARCHAR(30));
QueryOK, 0 rows affected(0.05sec)

插入数据在第一个节点上面:
mysql@percona1>INSERT INTO percona.example VALUES(1,'percona1');
QueryOK,1 row affected(0.02sec)

查询数据在第二节点上面:

mysql@percona2>SELECT * FROM percona.example;
+---------+-----------+
| node_id | node_name |
+---------+-----------+
|       1 | percona1  |
+---------+-----------+
1 row in set (0.00 sec)

上述简单的例子可以测试集群的数据同步功能。


    
   
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 网络安全 数据库
|
Ubuntu 关系型数据库 MySQL
Percona XtraBackup 安装介绍篇
XtraBackup介绍   XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写)。
2918 0
|
关系型数据库 MySQL Linux
|
网络协议 MySQL 关系型数据库
|
关系型数据库 MySQL Linux
|
存储 关系型数据库 MySQL
|
关系型数据库 MySQL 测试技术
|
MySQL 关系型数据库