如何在CentOS 7上安装Percona XtraDB集群

原作者:Muhammad Arul  转载&翻译来源:https://www.howtoforge.com/tutorial/how-to-install-percona-xtradb-cluster-on-centos-7/

 

如何在CentOS 7上安装Percona XtraDB集群

 

在本教程中,我将向您展示如何在CentOS 7服务器上安装和配置Percona XtraDB Cluster。我们将使用与MySQL和Percona Server完全兼容的Percona XtraDB Cluster 5.6。

Percona是一家由MySQL和MongoDB数据库专家组成的公司,成立于2006年.Percona为MySQL和MongoDB构建和维护开源软件:Percona服务器(用于MySQL的数据库服务器,具有高可用性性能增强),Percona XtraDB集群(用于MySQL的高可用性解决方案)集群),用于MongoDB的Percona Server和用于管理数据库的其他工具,如Percona工具包,Percona监控工具和Percona XtraBackup。

 

先决条件

  • 3个CentOS 7服务器节点。
  • Root权限。
  • 基本的CentOS 7知识。

 

第1步 - 设置hosts文件

首先要做的是配置所有服务器的主机名。我有3台CentOS 7服务器,如下所示:

Node           Server IP       Hostname
 
Node1   -   192.168.43.36     percona1
Node2   -   192.168.43.166    percona2
Node3   -   192.168.43.148    percona3

使用终端连接到所有服务器:

# 测试则三台服务器节点是否可以ssh连接成功
ssh -p 22 root@serverip 

如果您已登录所有服务器,请 使用vim 编辑每个服务器上的“/ etc / hosts”文件:

vim /etc/hosts

粘贴下面的主机配置:

# 在三台服务器上,配置您的hosts文件,这样可以通过hostname来连接目标主机
192.168.43.36   percona1
192.168.43.166  percona2
192.168.43.148  percona3

将IP地址替换为与本地网络配置匹配的IP地址。保存并退出。

如何在CentOS 7上安装Percona XtraDB集群_第1张图片

 

第2步 - 配置Firewalld

Firewalld是CentOS 7上新的默认防火墙接口 firewall-cmd命令用于配置防火墙。我们可以定义和配置特定的组或区域,或者我们可以为ssh,MySQL数据库,nginx / apache web服务器等服务配置防火墙。

在此步骤中,我们将使用firewalld进行防火墙配置。我们将使用'firewall-cmd'命令打开percona服务器端口以及群集所需的其他端口。

使用此systemctl命令启动firewalld:

systemctl start firewalld

然后运行以下命令打开MySQL / percona服务器使用的端口:

firewall-cmd --zone=public --add-service=mysql --permanent

接下来,使用以下命令为集群添加其他端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --zone=public --add-port=4567/udp --permanent

重新加载防火墙规则:

firewall-cmd --reload

要查看所有防火墙规则的列表,请使用选项'--list-all'


firewall-cm --list-all

如何在CentOS 7上安装Percona XtraDB集群_第2张图片

 

第3步 - 安装Epel存储库和Socat

要在服务器上运行Percona XtraDB集群,我们需要安装socat,它可以在epel-repository中使用。所以我们需要先安装Epel存储库,然后再安装socat。此外,我们必须从服务器中删除mariadb-libs,因为它们与Percona XtraDB集群冲突。

安装epel-repository和socat:

yum -y install epel-release
yum -y install socat

删除mariadb-libs以避免mariadb-libs和Percona XtraDB Cluster之间的包冲突:

yum -y remove mariadb-libs

安装了Epel存储库和socat。

 

第4步 - 安装Percona XtraDB集群

在此步骤中,我们将安装具有所有程序包依赖性的Percona xtradb群集。我们需要为安装添加Percona存储库,然后启动Percona服务器并配置数据库服务器的root用户和密码。

使用yum安装Percona存储库:

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

现在安装Percona XtraDB集群以及本教程所需的其他软件包:

yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync nc

安装Percona XtraDB Cluster,使用zhis systemctl命令启动Percona服务器:

systemctl start mysql

接下来,为所有percona / mysql服务器配置root密码:

mysql_secure_installation

设置percona / mysql密码:

Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y

注意:

在所有3台CentOS服务器上运行步骤1 - 4。

 

步骤5 - 配置Percona XtraDB群集

在第4步中,我们已经安装了Percona XtraDB Cluster并为所有Percona / Mysql服务器节点配置了root密码。在此步骤中,我们将为SST身份验证创建一个新用户,并在每个服务器上编辑MySQL配置my.cnf。

SST(状态快照传输)是从作为捐赠者的一个服务器到作为加入者的另一个服务器的完整数据副本。对于SST身份验证,我们需要创建一个名为'sstuser'的新用户,密码为' sstuser @ '。对于SST方法,我们将使用xtrabackup-v2而不是rsync。请为您的群集使用不同且安全的密码!

登录每台服务器上的percona / mysql shell:

mysql -u root -p
TYPE YOUR PASSWORD

并使用密码sstuser @ '创建新的'sstuser '

create user sstuser@'%' identified by 'mypass@';
grant all on *.* to sstuser@'%';
flush privileges;

如何在CentOS 7上安装Percona XtraDB集群_第3张图片

然后在编辑配置文件之前停止每台服务器上的MySQL服务:

systemctl stop mysql

接下来,使用vim编辑器在每台服务器上编辑mysql配置文件my.cnf。

Percona1服务器上:

vim /etc/my.cnf

使用以下配置更改所有'wsrep'行:


wsrep_cluster_address          = gcomm://
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
 
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona1
 
wsrep_node_address             = percona1
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

保存并退出。

Percona2服务器上:

vim /etc/my.cnf

使用以下配置更改所有'wsrep'行:

wsrep_cluster_address          = gcomm://percona1,percona3
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
 
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona2
 
wsrep_node_address             = percona2
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

保存并退出。

Percona3服务器上:

vim /etc/my.cnf

使用以下配置更改所有'wsrep'行:

wsrep_cluster_address          = gcomm://percona1,percona2
wsrep_provider                 = /usr/lib64/galera3/libgalera_smm.so
 
wsrep_slave_threads            = 8
wsrep_cluster_name             = Cluster Percona XtraDB
wsrep_node_name                = percona3
 
wsrep_node_address             = percona3
wsrep_sst_method               = xtrabackup-v2
wsrep_sst_auth                 = sstuser:mypass@

保存并退出。

percona2服务器的屏幕截图。

如何在CentOS 7上安装Percona XtraDB集群_第4张图片

 

步骤6 - 启动Percona XtraDB Cluster Server

我们在所有服务器上配置了Percona XtraDB集群,现在我们可以启动服务器了。

在Percona1服务器上,启动或启动并运行集群:

systemctl start mysql@bootstrap

接下来,使用以下命令在percona2和percona3服务器上启动Percona / MySQL服务器:

systemctl start mysql

确保没有错误消息。如果在键入以启动MySQL后出现错误,请检查日志文件  '/ var / log / messages'

 

第7步 - 测试

我们必须登录每台服务器上的percona / mysql shell来测试Percona XtraDB集群。

登录所有服务器/节点上的Percona / MySQL shell:

mysql -u root -p
TYPE YOUR PASSWORD

使用mysql命令测试高可用性:

SHOW STATUS LIKE 'wsrep_local_state_comment';

在每个节点上尝试该命令,如果您看到“同步”   作为结果,则该节点已准备好处理流量。

测试集群的可用节点:

show global status like 'wsrep_cluster_size';

您将获得Percona群集中的当前节点数。

如何在CentOS 7上安装Percona XtraDB集群_第5张图片

要获得完整结果,您可以使用以下命令:

 show global status like 'wsrep%';

 

参考

  • https://www.percona.com/doc/percona-xtradb-cluster/5.6/index.html
  • http://galeracluster.com/documentation-webpages/firewalld.html

 

你可能感兴趣的:(Percona,XtraDB,Percona,XtraDB,Cluster,PXC集群部署,MySQL集群,Unix&Unix-Like,MySQL集群)