## 前期回顾

| 主机名 |IP地址|操作系统 |MySQL版本|插件版本|
| --- | --- | --- |  --- | ---|
| rac1 | 11.12.14.29| Redhat 6.10|5.7.26|25.3.27|
| rac2| 11.12.14.30| Redhat 6.10|5.7.26|25.3.27|
| rac3 | 11.12.14.39 | Redhat 6.10|5.7.26|25.3.27|




前面我们说了Galera Cluster有三种不同的分支

- MySQL Galera Cluster by Codership
- Percona XtraDB Cluster by Percona
- MariaDB Galera Cluster (5.5 and 10.0) by MariaDB

这里我们以官方的软件来做演示,即第一个

## 1. 软件组成

Galera Cluster由两部分组成

- the Galera Replication Library (galera-3) 
- a version of MySQL extended with the Write Set Replication (WSREP) API 


第一个即Galera 插件 

第二个为集成了wsrep API的 MySQL服务器软件

以上意味着我们需要安装一个Galera版本的MySQL数据库和一个Galera插件



## 2. Galera参数设置

上节我们说了如何安装Galera集群软件

这节内容为配置一些系统参数来设置

我们编辑/etc/my.cnf文件加入或修改一些参数设置

**rac1**

```
[mysqld] 
binlog_format=ROW
bind-address=11.12.14.29
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac1
wsrep_node_address="11.12.14.29"
wsrep_sst_method=rsync
```


**rac2**

```
[mysqld] 
binlog_format=ROW
bind-address=11.12.14.30
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac2
wsrep_node_address="11.12.14.30"
wsrep_sst_method=rsync
```


**rac3**

```
[mysqld] 
binlog_format=ROW
bind-address=11.12.14.39
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac3
wsrep_node_address="11.12.14.39"
wsrep_sst_method=rsync
```


## 3. 参数说明

下面来对一些参数进行说明

- binlog_format 需要采用row格式的二进制日志文件
-  bind-address 指定本机IP地址
-  default_storage_engine Galera只支持innodb
- innodb_autoinc_lock_mode 其他设置可能会造成系统死锁
- innodb_flush_log_at_trx_commit 指定每秒刷新日志到磁盘,可能会造成1s的数据丢失,不过可以通过Galera恢复出来 
- wsrep_provider 指定galera插件的位置,上节中通过rpm -ql获取到
- wsrep_provider_options 指定组通信协议的一些参数
- wsrep_cluster_name指定Galera集群的逻辑名称,集群内所有节点需要配置一样
- wsrep_cluster_address 指定集群内节点的地址,需要包含所有的节点IP
- wsrep_node_name 该节点的名称,这里我们填写主机名
- wsrep_node_address 该节点的IP地址,这里填写该主机的IP地址
- wsrep_sst_method 选择SST的类型,具体可查看第三章的内容


## 4. 参考资料

[https://galeracluster.com/library/training/tutorials/wsrep-configuration.html](https://galeracluster.com/library/training/tutorials/wsrep-configuration.html)

[上一章](http://www.zhaibibei.cn/mysql/galera/tutorial5)

[下一章](http://www.zhaibibei.cn/mysql/galera/tutorial7)