从PXC5.7版本开始,集群的配置主要是通过wsrep.cnf配置来实现。这个文件有几个常用的参数配置。下文对其做简要说明。
一、PXC 5.7集群配置文件
如果是直接通过yum方式安装,那么配置文件位置缺省在/etc/percona-xtradb-cluster.conf.d目录下。其内容为:
当前os版本
[root@node142 ~]# more /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@node142 ~]# more /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
[mysqld]
# Path to Galera library
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
# Cluster connection URL contains IPs of nodes
#If no IP is found, this implies that a new cluster needs to be created,
#in order to do that you need to bootstrap this node
wsrep_cluster_address=gcomm://192.168.81.142,192.168.81.146,192.168.81.147
# 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
# Slave thread to use
wsrep_slave_threads= 8
wsrep_log_conflicts
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node IP address
#wsrep_node_address=192.168.70.63
# Cluster name
#
wsrep_node_address=192.168.81.142
wsrep_cluster_name=pxc-cluster
#If wsrep_node_name is not specified, then system hostname will be used
wsrep_node_name=node142
#pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
#pxc_strict_mode=ENFORCING
pxc_strict_mode=PERMISSIVE
# SST method
wsrep_sst_method=xtrabackup-v2
#Authentication for SST method
wsrep_sst_auth="sstuser:s3cretPass"
第二个节点参数,仅有以下两处不同:
wsrep_node_name=node146
wsrep_node_address=192.168.81.146
第三个节点参数,仅有以下两处不同:
wsrep_node_name=node147
wsrep_node_address=192.168.81.147
二、PXC 5.7集群参数具体描述
wsrep_cluster_name
指定您的群集的逻辑名称。对于群集中的所有节点,它必须相同。
wsrep_cluster_address
指定群集中节点的IP地址。节点加入集群至少需要一个,但建议列出所有节点的地址。这样,如果列表中的第一个节点不可用,则加入节点可以使用其他地址。
注意:群集中的初始节点不需要地址。但是,建议指定它们并正确引导第一个节点。这将确保节点将来能够重新加入集群。
wsrep_node_name
指定每个单独节点的逻辑名称。如果未指定此变量,则将使用主机名称。
wsrep_node_address
指定该特定节点的IP地址。
wsrep_sst_method
默认情况下,Percona XtraDB集群使用Percona XtraBackup进行状态快照传输(SST)。 强烈建议设置wsrep_sst_method=xtrabackup-v2。
这种方法需要用户在初始节点上建立SST。用wsrep_sst_auth变量提供SST用户凭据。
wsrep_sst_auth
指定认证凭证SST 作为:。您必须在引导第一个节点时创建此用户 并为其提供必要的权限:
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'passw0rd';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql> FLUSH PRIVILEGES; --Author : Leshami Blog : https://blog.csdn.net/leshami
有关更多信息,请参阅Percona XtraBackup的权限。
pxc_strict_mode
PXC严格模式在默认情况下ENFORCING处于启用状态,并设置为阻止在Percona XtraDB集群中使用实验和不支持的功能。
为确保数据强一致性,建议至少启用PERMISSIVE模式
关于这个参数的具体描述可以参考:Percona XtraDB Cluster Strict Mode(PXC 5.7 )
binlog_format
Galera只支持行级复制,所以设置binlog_format=ROW。
default_storage_engine
Galera完全支持InnoDB存储引擎。它不能与MyISAM或任何其他非事务性存储引擎正常工作。将此变量设置为default_storage_engine=InnoDB。
innodb_autoinc_lock_mode
Galera仅支持InnoDB的交错(2)锁定模式。设置传统(0)或连续(1)锁定模式会导致复制失败,因为未解决的死锁。将此变量设置为innodb_autoinc_lock_mode=2。