如何在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 HostnameNode1 - 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地址。保存并退出。
第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
第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;
然后在编辑配置文件之前停止每台服务器上的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.sowsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona1wsrep_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.sowsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona2wsrep_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.sowsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona3wsrep_node_address = percona3
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:mypass@
保存并退出。
percona2服务器的屏幕截图。
步骤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群集中的当前节点数。
要获得完整结果,您可以使用以下命令:
show global status like 'wsrep%';
参考
- https://www.percona.com/doc/percona-xtradb-cluster/5.6/index.html
- http://galeracluster.com/documentation-webpages/firewalld.html
如何在CentOS 7上安装Percona XtraDB集群相关推荐
- 在CentOS上配置Percona XtraDB集群(Percona XtraDB Cluster)
原作者:Percona官网 翻译&转载来源:https://www.percona.com/doc/percona-xtradb-cluster/LATEST/howtos/centos_ho ...
- 如何在Debian 8上安装Percona XtraDB Cluster for MySQL
翻译&转载来源:https://www.howtoforge.com/tutorial/how-to-install-percona-xtradb-cluster-for-mysql/ 在本文 ...
- 如何在 CentOS 7 上安装 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- opencv 安装_如何在 CentOS 8 上安装 OpenCV
本文最先发表在: 如何在 CentOS 8 上安装 OpenCVwww.itcoder.tech OpenCV(Open Source Computer Vision Library) 是一个开源的 ...
- 2019 年如何在 CentOS 7 上安装最新版 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- fortran安装_如何在 CentOS 8 上安装 GCC
本文最先发布在: 如何在 CentOS 8 上安装 GCCwww.itcoder.tech GNU 编译器集合是一系列用于语言开发的编译器和库的集合,包括: C, C++, Objective-C, ...
- centos 使用java_如何在CentOS 8上安装Java
Java是用于构建不同类型的应用程序和系统的最流行的编程语言之一. Java有两种不同的实现,OpenJDK和Oracle Java,两者之间几乎没有区别,只是Oracle Java具有一些其他的商业 ...
- linux centos7 r安装,如何在CentOS 7上安装R
R是一种快速增长的开源编程语言和免费环境,专门从事统计计算和图形表示.它得到R统计计算基金会的支持,主要由统计学家和数据挖掘人员用于开发统计软件和执行数据分析. 本教程将教您如何在CentOS 7上安 ...
- 如何在CentOS 7上安装Kubernetes Docker群集
如何在CentOS 7上安装Kubernetes Docker群集 Kubernetes是一个开源平台,用于管理由Google开发的容器化应用程序.它允许您在集群环境中管理,扩展和自动部署容器化应用程 ...
最新文章
- http经典书籍--http权威指南
- UNIX 环境高级编程 文件和目录
- 前端学习(3087):vue+element今日头条管理-关于接口的使用
- 原创 | 面试官问我同步容器(如Vector)的所有操作一定是线程安全的吗?我懵了!...
- Zookeeper启动zkServer.cmd闪退, zk服务启动跟报错:Unexpected exception, exiting abnormally java.net.BindException
- lua io.read()
- Android 微信分享信息
- 回复 Timer008 的一个类型转换的问题 - 不是很典型, 对其他人参考价值不大
- 现代通信原理:月考(二)答案
- SPFA算法(最短路径算法)
- 【转】DVI转HDMI没声音怎么办
- Android手机多种截图方式
- 推荐一些程序猿学习的网站
- 2018年我的开发管理总结
- fabric1.4 baas平台以及运维管理sdk
- 王小锤学Java:retainAll函数那点儿事
- java和vue视频点播弹幕系统
- SAP 委外加工(外包\分包)
- 炉石传说android手机版本,炉石传说安卓版下载gpu型号选择详细讲解介绍
- QT QPaintEvent update repaint 高帧率画图
热门文章
- 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
- mysql 格式化日期 DATE_FORMAT,FROM_UNIXTIME,UNIX_TIME等
- linux 查看端口号
- mysql 主从复制结构配置
- 【英文写作日知录 第1期】句式汇总 Sun, 05 July 2020
- Java—Remove Deplicates from Sorted Array(顺序数组中去重位置)
- 文件的读操作 c# 1614526130
- 窗体传值 父子窗体传值情况 c# 1231
- 断开式绑定ComboBox 关键命令 1201
- 枚举的定义与使用 1127 c#