MySQL--Percona-XtraDB-Cluster 5.6安装笔记
安装环境:
有三台干净的CentOS 6的服务器,IP配置为:192.168.166.169,192.168.166.170,192.168.166.171,准备搭建三节点的Percona XtraDB Cluster
================================================
相关安装包下载:
https://www.percona.com/downloads/
也可以先使用yum install 来安装percona-release-0.1-4.noarch.rpm的包:
yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm
然后使用yum download获取最新的包及依赖包:
yum -y install --downloadonly Percona-XtraDB-Cluster-56
================================================
在每个群集节点上进行以下安装
使用yum安装依赖的包:
yum -y install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes nc rsync libaio numactl lsof
使用RPM安装:
rpm -ivh libev-4.03-3.el6.x86_64.rpm
rpm -ivh compat-readline5-5.2-17.1.el6.x86_64.rpm
rpm -ivh socat-1.7.2.3-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-2.2.12-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-debuginfo-2.2.12-1.el6.x86_64.rpm
rpm -ivh percona-xtrabackup-test-2.2.12-1.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-galera-3-3.20-2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-client-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-devel-56-5.6.35-26.20.2.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-server-56-5.6.35-26.20.2.el6.x86_64.rpm
================================================
修改各群集节点上/etc/my.cnf增加以下信息:
[mysqld] datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql skip-host-cache
skip-name-resolve server_id=1
wsrep_node_name=pxc1
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.166.169,192.168.166.170,192.168.166.171"
wsrep_sst_auth="sstuser:s3cret"
wsrep_provider_options="gcache.size=4G"
wsrep_cluster_name=Percona
wsrep_sst_method=rsync
wsrep_slave_threads=4
log_slave_updates
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
各群集节点上server_id和wsrep_node_name设置为不同的值
================================================
群集的第一个节点不需要进行数据同步,使用bootstrap启动,等同于将wsrep_cluster_address方式设置为gcomm://
假设将192.168.166.169当做第一个群集节点,使用下面方式启动:
## 在CentOS6下,使用下面方式启动第一个节点
/etc/init.d/mysql bootstrap-pxc ##在CentOS7下,使用下面方式启动第一个节点
systemctl start mysql@bootstrap.service
对于PXC 5.6版本,安装后的root默认密码为空,对于PXC 5.7版本,默认root密码写入到/var/log/mysqld.log,可以使用cat /var/log/mysqld.log |grep password来查看
第一个节点启动后,应该修改root账号密码,并新增群集同步的账号密码,登录第一个启动节点,执行下面脚本:
##更新root账号密码
UPDATE mysql.user
SET Password=PASSWORD('Abc@123')
WHERE user='root';
FLUSH PRIVILEGES; ## 创建wsrep_sst_auth使用的账号
CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cret';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
FLUSH PRIVILEGES;
PXC 5.7版本中mysql.user表的密码字段更新为authentication_string,需要使用ALTER语句来更改
================================================
对于群集的第二或第N个节点,采用普通的方式启动:
## 在CentOS6下使用下面方式启动第二节点:
/etc/init.d/mysql start ## 在CentOS7下使用下面方式启动第二节点:
systemctl start mysql
启动成功后,会自动从第一个节点同步数据,因此无需在第二或第N个节点上修改root账号,可以直接使用第一节点上更新后的root账号密码登录。
================================================
搭建时遇到的问题:
当wsrep_sst_method设置为mysqldump或xtrabackup时,会报如下错误:
[ERROR] WSREP: Failed to read uuid:seqno from joiner script.
[ERROR] WSREP: SST script aborted with error 32 (Broken pipe)
[ERROR] WSREP: SST failed: 32 (Broken pipe)
[ERROR] Aborting
因此对于新创建的群集,推荐使用rsync来搭建
相关参考连接:
https://www.percona.com/doc/percona-xtradb-cluster/5.6/wsrep-system-index.html#wsrep_sst_method
================================================
打完收工
MySQL--Percona-XtraDB-Cluster 5.6安装笔记的更多相关文章
- Percona XtraDB Cluster简易入门 - 安装篇
说明 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案.特点是每个节点都能进行读写,且都保存全量的数据.也就是说在任何一个节点进行写入操作 ...
- Percona XtraDB Cluster 5.7安装配置
优点:1.准同步复制2.多个可同时读写节点,可实现写扩展,较分片方案更进一步3.自动节点管理4.数据严格一致5.服务高可用缺点:1.只支持innodb引擎2.所有表都要有主键3.所有的写操作都将发生在 ...
- mysql高可用之PXC(Percona XtraDB Cluster)
简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1).同步复制,事务要么在所有节点提交或不提交 ...
- MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解
MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...
- Percona XtraDB Cluster(PXC) -集群环境安装
Percona XtraDB Cluster(PXC) ---服务安装篇 1.测试环境搭建: Ip 角色 OS PXC-version 172.16.40.201 Node1 Redhat/C ...
- 使用percona xtradb cluster的IST方式添加新节点
使用percona xtradb cluster的IST(Incremental State Transfer)特性添加新节点,防止新节点加入时使用SST(State SnapShop Transfe ...
- Percona XtraDB Cluster
简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1.同步复制,事务要么在所有节点提交或不提交. ...
- 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装
本文主要介绍在 centos 下 Percona XtraDB Cluster(下文简称PXC) 的安装, 个人的系统版本信息如下: [root@c2-d09 worker]# more /etc/r ...
- PXC(Percona XtraDB Cluster)集群的安装与配置
Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server .其包括了Write Set REPlication补丁,使用Galera ...
- 搭建mysql集群,使用Percona XtraDB Cluster搭建
Percona XtraDB Cluster提供的特性有:1.同步复制,事务要么在所有节点提交或不提交.2.多主复制,可以在任意节点进行写操作.3.在从服务器上并行应用事件,真正意义上的并行复制.4. ...
随机推荐
- Best Sightseeing Pair LT1014
Given an array A of positive integers, A[i] represents the value of the i-th sightseeing spot, and t ...
- Partition Array into Disjoint Intervals LT915
Given an array A, partition it into two (contiguous) subarrays left and right so that: Every element ...
- springmvc相关
Springmvc的请求注解可分为四类: url请求地址(PathVariable). head请求头(RequestHeader.CookieValue). body请求体(RequestParam ...
- IntelliJ IDEA 配置svn
1.启用版本控制 2.在弹出的框中选择svn 3.下载并解压VisualSVN 下载地址:http://subversion.apache.org/packages.html#windows 4.i ...
- java进行3DES加解密
import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.Secre ...
- Globalization and accessibility for tile and toast notifications (Windows Store apps)
http://msdn.microsoft.com/en-us/library/windows/apps/hh831183.aspx 做 HighContrast时,采用以下分目录方式: /Proje ...
- JavaScript的基础篇
一.JavaScript的引入方式 1)js的引用方式 <body> <!--引入方式一,直接编写--> <script> alert("hello wo ...
- WebSocket 长连接 及超时问题解决
<?phpset_time_limit(0); class SocketService { private $address = 'localhost'; private $port = 80; ...
- 使用PostSharp在.NET平台上实现AOP(转)
出处:https://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html 摘要 本文首先介绍AOP(面向方面编程)的相关概念及理 ...
- yyparse() and yylex()
Yacc 与 Lex 快速入门 yyparse() returns a value of 0 if the input it parses is valid according to the give ...