mysql mycat

This commit is contained in:
luoxiang
2019-08-24 12:40:40 +08:00
parent dd63e645cb
commit f0f7acc112
3 changed files with 135 additions and 8 deletions

View File

@ -1,5 +1,16 @@
# PXC 集群搭建
<nav>
<a href="#一PXC-集群">一、PXC 集群</a><br/>
<a href="#二集群搭建">二、集群搭建</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#21-准备安装">2.1 准备安装</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#22--在线安装">2.2 在线安装</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#23-修改密码">2.3 修改密码</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#24-搭建集群">2.4 搭建集群</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#25-启动集群">2.5 启动集群</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#26-节点下线">2.6 节点下线</a><br/>
</nav>
## 一、PXC 集群
Percona XtraDB Cluster (简称 PXC) 是 Percona 公司开源的实现 MySQL 高可用的解决方案。它将 Percona Server 和 Percona XtraBackup 与 Galera 库集成,以实现多主同步复制。和 MySQL 传统的异步复制相比,它能够保证数据的强一致性,在任何时刻集群中任意节点上的数据状态都是完全一致的,并且整个架构实现了去中心化,所有节点都是对等的,即允许你在任意节点上进行写入和读取,集群会把数据状态同步至其他所有节点。但目前 PXC 集群只支持 InnoDB 存储引擎,并具有以下限制:
@ -13,9 +24,7 @@ Percona XtraDB Cluster (简称 PXC) 是 Percona 公司开源的实现 MySQL 高
+ 允许的最大事务大小由 wsrep_max_ws_rows 和 wsrep_max_ws_size 参数共同定义,因此超大型事务会被拆分为一系列小型事务,如加载大数据集 LOAD DATA INFILELOAD DATA。
+ 由于在集群级别采用乐观锁进行并发控制,所以事务在 COMMIT 阶段仍然有被中止的可能。如两个事务在不同的集群节点上提交对相同的行的写入,此时只有其中一个可以成功提交,另一个将被中止。
![pxc-cluster](D:\Full-Stack-Notes\pictures\pxc-cluster.png)
<div align="center"> <img src="https://github.com/heibaiying/Full-Stack-Notes/blob/master/pictures/pxc-cluster.png"/> </div>
虽然 PXC 集群存在以上限制,但就目前而言,它仍然是解决数据一致性和高可用性的最好方案,其搭建步骤如下:
@ -109,6 +118,8 @@ sudo systemctl stop mysql
以上安装过程在三台主机上均相同执行,之后就可以开始集群的搭建。首先需要修改每个服务器上的 `/etc/my.cnf` 文件,第一个节点上需要增加的内容如下:
```properties
[mysqld]
# PXC集群中每个MySQL实例的唯一标识不能重复
server-id=1
@ -180,7 +191,26 @@ sudo systemctl start mysql
启动后,可以登录任意节点并使用以下命令查看集群状态。输出中的 wsrep_cluster_size 的值应该为 3 ,即集群中节点总数为 3此时代表所有节点都已成功加入集群至此集群已经搭建完成。
```shell
show status like 'wsrep%';
mysql> show status like 'wsrep%';
+----------------------------------+----------------------------------------------------------+
| Variable_name | Value |
+----------------------------------+----------------------------------------------------------+
| wsrep_local_state_uuid | 8bcc22cf-bfab-11e9-8a49-6e46c7af709e |
.......
| wsrep_incoming_addresses | 192.168.0.227:3306,192.168.0.228:3306,192.168.0.226:3306 |
| wsrep_gcomm_uuid | c8afc276-c623-11e9-a9ea-677d72419479 |
| wsrep_cluster_conf_id | 3 |
| wsrep_cluster_size | 3 |
| wsrep_cluster_state_uuid | 8bcc22cf-bfab-11e9-8a49-6e46c7af709e |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
| wsrep_local_bf_aborts | 0 |
| wsrep_local_index | 2 |
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
| wsrep_provider_version | 3.37(rff05089) |
| wsrep_ready | ON |
+----------------------------------+----------------------------------------------------------+
```
### 2.6 节点下线