配置 Percona-XtraDB-Cluster
注意
确保Percona XtraDB群集服务器未运行。
$ sudo service mysql stop
配置示例假定存在三个Percona XtraDB Cluster节点:
Node | Host | IP |
---|---|---|
Node 1 | pxc1 | 192.168.70.61 |
Node 2 | pxc2 | 192.168.70.62 |
Node 3 | pxc3 | 192.168.70.63 |
如果您正在运行Debian或Ubuntu,请/etc/percona-xtradb-cluster.conf.d/wsrep.cnf 在第一个节点上将以下配置变量添加到:
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm://192.168.70.61,192.168.70.62,192.168.70.63
wsrep_node_name=pxc1
wsrep_node_address=192.168.70.61
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sstuser:passw0rd
pxc_strict_mode=ENFORCING
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
如果您正在运行Red Hat或CentOS,请将以下配置变量添加到/etc/percona-xtradb-cluster.conf.d/wsrep.cnf 第一个节点上:
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm://192.168.70.61,192.168.70.62,192.168.70.63
wsrep_node_name=pxc1
wsrep_node_address=192.168.70.61
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sstuser:passw0rd
pxc_strict_mode=ENFORCING
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
配置参考
wsrep_provider
指定Galera库的路径。
注意
位置取决于分布:
Debian或Ubuntu: /usr/lib/libgalera_smm.so
红帽或CentOS: /usr/lib64/galera3/libgalera_smm.so
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。为SST用户凭据提供wsrep_sst_auth变量。
wsrep_sst_auth
将SST的身份验证凭据指定 为<sst_user>:<sst_pass>。在引导第一个节点时,必须创建此用户 并为其提供必要的特权:
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'passw0rd';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO
'sstuser'@'localhost';
mysql> FLUSH PRIVILEGES;
有关更多信息,请参见Percona XtraBackup的特权。
pxc_strict_mode
PXC严格模式默认情况下ENFORCING处于启用状态,并且设置为,这会阻止在Percona XtraDB群集中使用实验性和不受支持的功能。
binlog_format
Galera仅支持行级复制,因此请设置binlog_format=ROW。
default_storage_engine
Galera仅完全支持InnoDB存储引擎。它不能与MyISAM或任何其他非事务性存储引擎一起正常使用。将此变量设置为default_storage_engine=InnoDB。
innodb_autoinc_lock_mode
Galera仅支持2InnoDB的交错()锁定模式。设置传统(0)或连续(1)锁定模式可能会由于未解决的死锁而导致复制失败。将此变量设置为innodb_autoinc_lock_mode=2。