Percona Xtradb Cluster 安装
Percona Xtradb Cluster 介绍 Percona XtraDB Cluster 简称:PXC,是针对MySQL 用户的高可用性和扩展性解决方案,基于Percona Server。其包括了Write Set REPlication 补丁,使用Galera库,这是一个针对事务性应用程序的同步多主机复制插件。
Percona XtraDB Cluster特点:
  (1)同步复制,事务在所有集群节点要么同时提交,要么不提交。
  (2)多主复制,可以在任意一个节点写入。
  (3)从服务器上的并行应用事件,真正的“并行复制”。
  (4)自动配置节点。
  (5)数据一致性,没有不同步的从服务器。
 
PXC 安装环境需求
 
环境:
CentOS 6.5 64bits
IP:
192.168.1.88
192.168.1.89
192.168.1.90
 
基本架构:
 

PXC 安装基本步骤
Percona-Xtradb-Cluster
5.6 版本下载
wget http://www.percona.com/downloads/Percona-XtraDB-Cluster-56/Percona-XtraDB-Cluster-5.6.21-25.8/binary/tarball/Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz
 
1.安装依赖包:(使用系统光盘配置本地yum源即可)
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
 
2.安装软件包percona-xtrabackup:
rpm -ivh percona-xtrabackup-2.3.5-1.el6.x86_64.rpm
 
可能需要依赖软件包libev.
rpm -ivh libev-4.04-2.el6.x86_64.rpm
 
3.安装
创建安装目录
mkdir /usr/local/mysql
tar -xvf  Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz
mv  Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64  /usr/local/mysql
 
创建mysql 的用户及组
groupadd mysql
useradd -g msyql mysql
创建启动文件:
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
创建mysql 需要的基本目录
mkdir -p /data/mysql/mysql_3306
mkdir -p /data/mysql/mysql_3306/data
mkdir -p /data/mysql/mysql_3306/logs
mkdir -p /data/mysql/mysql_3306/tmp
chown mysql:mysql /data -R
chmod 755  /data -R
./mysql_install_db --user=mysql  --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/
确认结果正确
 
 
4.PXC 配置
cat /etc/my.cnf
[client]
socket=/data/mysql/mysql_3306/tmp/mysql.sock
port            = 3306
 
[mysqld]
server_id=88
basedir         = /usr/local/mysql
port            = 3306
datadir         = /data/mysql/mysql_3306/data
tmpdir          = /data/mysql/mysql_3306/tmp
socket          = /data/mysql/mysql_3306/tmp/mysql.sock
user=mysql
pid-file=/data/mysql/mysql_3306/data/mysqld.pid
log-error=/data/mysql/mysql_3306/logs/mysql.err
general-log-file=/data/mysql/mysql_3306/logs/mysql.log
slow-query-log-file=/data/mysql/mysql_3306/logs/mysql.log
 
default_storage_engine=InnoDB
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
wsrep_cluster_name="mycluster"
#cluster 的名字
wsrep_cluster_address=gcomm://192.168.1.88,192.168.1.89,192.168.1.90
#cluster 中的节点ip
wsrep_node_address=192.168.1.88
#cluster 当前节点的ip
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
wsrep_sst_method=rsync
wsrep_sst_auth="sstuser:sstuser"
wsrep_node_name=pxc1
 
 
 
有两个地方需要注意:
1、wsrep_node_address=192.168.1.88 安装每个mysql服务时,需要修改为自身的ip
2、wsrep_sst_method:在刚安装时,需要将slave节点设置为rsync,才能同步成功
每台集群中的mysql服务都按以上的步骤安装即可
 
注意下面几个值根据实际情况设置,3台主机需要设置成不同的值:
server_id=88
wsrep_node_address
wsrep_node_name
 
5.启动
# 首先启动第一节点
修改/etc/init.d/mysql配置文件中basedir和datadir的路径
basedir=/usr/local/mysql
datadir=/data/mysql/mysql_3306/data
/etc/init.d/mysql bootstrap-pxc  --wsrep-cluster-address="gcomm://"
tail -f /data/mysql/mysql_3306/logs/mysql.log                                   ----- 观察错误日志
 
# 以上述方式启动完第一个节点后,用命令service mysql start依次启动第二和第三个节点。当全部节点启动完毕后,# 再回过来把第一个节点service mysql restart重新启动。这是因为在集群节点全部关闭状态下,第一个启动的节点# 必须以gcomm://方式启动。
/etc/init.d/mysql start
/etc/init.d/mysql start
/etc/init.d/mysql restart
 
6.验证是否配置成功:
mysql> show global status like 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+
1 row in set (0.00 sec)
 
mysql> show global status like 'wsrep_incoming_addresses';
+--------------------------+-------------------------------------------------------+
| Variable_name            | Value                                                 |
+--------------------------+-------------------------------------------------------+
| wsrep_incoming_addresses | 192.168.1.90:3306,192.168.1.89:3306,192.168.1.88:3306 |
+--------------------------+-------------------------------------------------------+
1 row in set (0.25 sec)
 
# 比较重要的参数状态
mysql> show status like 'wsrep%';
+------------------------------+-------------------------------------------------------------+
| Variable_name                | Value                                                       |
+------------------------------+-------------------------------------------------------------+
| wsrep_cluster_status         | Primary                                                     |
| wsrep_connected              | ON                                                          |
| wsrep_ready                  | ON                                                          |
+------------------------------+-------------------------------------------------------------+
 
测试数据
 
第一个节点:
mysql> create database db1;
Query OK, 1 row affected (0.05 sec)
mysql> use db1;
Database changed
mysql> create table t1(x int);
Query OK, 0 rows affected (0.21 sec)
mysql> insert into t1 values(1);
第二个节点:
mysql> use db1;
 Database changed
 mysql> show tables;
 +---------------+
 | Tables_in_db1 |
 +---------------+
 | t1 |
 +---------------+
 1 row in set (0.00 sec)
 mysql> insert into t1 values(2);
 Query OK, 1 row affected (0.01 sec)
 第三个节点:
 mysql> use db1;
 Database changed
 mysql> show tables;
 +---------------+
 | Tables_in_db1 |
 +---------------+
 | t1 |
 +---------------+
 1 row in set (0.00 sec)
 
mysql> select * from t1;
+------+
| x    |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)
 
遇到的问题及解决办法:
可能提示缺少libssl.so.6和libcrypto.so.6
/usr/local/mysql//bin/my_print_defaults: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
/usr/local/mysql//bin/my_print_defaults: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
安装openssl
# rpm -qa | grep openssl
krb5-pkinit-openssl-1.10.3-65.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
openssl098e-0.9.8e-20.el6.centos.1.i686
 
cd /usr/lib64
# ln -s libssl.so.1.0.1e libssl.so.6
# ln -s libcrypto.so.1.0.1e libcrypto.so.6
 
 
 
 

percona-xtradb-cluster安装部署的更多相关文章

  1. MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...

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

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

  3. MySQL集群Percona XtraDB Cluster安装搭建步骤详解

    http://www.linuxidc.com/Linux/2017-05/143501.htm http://blog.csdn.net/thundermeng/article/details/52 ...

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

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

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

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

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

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

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

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

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

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

  9. kubernetes部署Percona XtraDB Cluster集群

    PXC介绍 全称percona-xtradb-cluster,提供了MySQL高可用的一种实现方法.PXC集群以节点组成(推荐至少3节点,便于故障恢复),每个节点都是基于常规的 MySQL Serve ...

  10. Installing Percona XtraDB Cluster on CentOS

    PXC简介 Percona XtraDB Cluster(简称PXC集群)提供了MySQL高可用的一种实现方法. 1.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. 2.每个节 ...

随机推荐

  1. Docker容器的使用和连接

    在上一篇文章<Docker从安装部署到Hello World>介绍了如何在CentOS7上安装Docker.这篇文章主要介绍一下Docker容器的使用和连接. vDocker 容器使用 1 ...

  2. ccf 201803-4 棋局评估 (对抗搜索)

    棋局评估 问题描述 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先.当同一种棋子占据一行.一列 ...

  3. A - Word

    Problem description Vasya is very upset that many people on the Net mix uppercase and lowercase lett ...

  4. EasyUI 编写实体类树状选择器

    <%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="/WEB-INF/ ...

  5. [转]SQLServe 存储表结构的几个系统表

    1. 获取表的基本字段属性 获取SqlServer中表结构 SELECT syscolumns.name,systypes.name,syscolumns.isnullable, syscolumns ...

  6. Laravel5.1学习笔记7 视图

    视图 (View) 基本用法 传递数据到视图 在多个视图中分享数据 视图组件   #基本用法 视图里面包含了你应用程序所提供的 HTML 代码,并且提供一个简单的方式来分离控制器和网页呈现上的逻辑.视 ...

  7. Leetcode0002--Add Two Numbers 链表求和

    [转载请注明]http://www.cnblogs.com/igoslly/p/8672467.html 来看一下题目: You are given two non-empty linked list ...

  8. JavaScript变量提升及作用域

    今天在知乎看前端面试题的时候,看到这样的问题,发现自己懂的真的是太少了,看了给的例子,所以写一下自己的理解. 首先放一段代码: var v= “hello JavaScript”; alert(v); ...

  9. 【PL/SQL】匿名块、存储过程、函数、触发器

    名词解释 子程序:PL/SQL的过程和函数统称为子程序. 匿名块:以DECLARE或BEGIN开始,每次提交都被编译.匿名块因为没有名称,所以不能在数据库中存储并且不能直接从其他PL/SQL块中调用. ...

  10. 三维重建7:Visual SLAM算法笔记

    VSLAM研究了几十年,新的东西不是很多,三维重建的VSLAM方法可以用一篇文章总结一下. 此文是一个好的视觉SLAM综述,对视觉SLAM总结比较全面,是SLAM那本书的很好的补充.介绍了基于滤波器的 ...