在CentOS8下搭建PXC集群一文中,介绍了如何搭建Percona Server集群。实际上PXC的安装包已经捆绑了Percona Server,所以在安装时会屏蔽Percona Server的一些细节。但有时候可能会单独用到Percona Server,所以本文单独介绍一下Percona Server的安装。需要注意的是:Percona Server只支持Linux系统,不能安装在其他操作系统上。
Percona Server主要有两种较为简单的安装方式,一是自己下载安装包进行本地安装,二是通过官方提供的rpm
源链接进行在线安装。
先上官方的安装文档:
- Installing Percona Server for MySQL 8.0.18-9
环境版本说明:
- CentOS 8
- Percona Server for MySQL 8.0.18
本地安装
本地安装需要将安装包下载到系统中,Percona Server的官网下载地址如下:
- https://www.percona.com/downloads/Percona-Server-LATEST/
打开上面的网址,选择相应的版本及操作系统,最后复制安装包的下载链接:
然后到命令行上通过wget
命令进行下载:
[root@localhost ~]# cd /usr/local/src
[root@localhost /usr/local/src]# wget https://www.percona.com/downloads/Percona-Server-LATEST/Percona-Server-8.0.18-9/binary/redhat/8/x86_64/Percona-Server-8.0.18-9-r53e606f-el8-x86_64-bundle.tar
将Percona Server的压缩包按照如下命令进行解压缩:
[root@localhost /usr/local/src]# mkdir Percona-Server # 新建目录存储解压出来的文件
[root@localhost /usr/local/src]# tar -xvf Percona-Server-8.0.18-9-r53e606f-el8-x86_64-bundle.tar -C Percona-Server # 解压并将解压后的文件存放至 Percona-Server 目录
[root@localhost /usr/local/src]# ls Percona-Server # 解压后,就是一堆的.rpm文件
percona-mysql-router-8.0.18-9.1.el8.x86_64.rpm
percona-mysql-router-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-client-8.0.18-9.1.el8.x86_64.rpm
percona-server-client-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-debugsource-8.0.18-9.1.el8.x86_64.rpm
percona-server-devel-8.0.18-9.1.el8.x86_64.rpm
percona-server-rocksdb-8.0.18-9.1.el8.x86_64.rpm
percona-server-rocksdb-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-server-8.0.18-9.1.el8.x86_64.rpm
percona-server-server-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-shared-8.0.18-9.1.el8.x86_64.rpm
percona-server-shared-compat-8.0.18-9.1.el8.x86_64.rpm
percona-server-shared-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-test-8.0.18-9.1.el8.x86_64.rpm
percona-server-test-debuginfo-8.0.18-9.1.el8.x86_64.rpm
percona-server-tokudb-8.0.18-9.1.el8.x86_64.rpm
percona-server-tokudb-debuginfo-8.0.18-9.1.el8.x86_64.rpm
[root@localhost /usr/local/src]#
Percona Server的安装需要依赖于jemalloc,所以在安装Percona Server之前,我们得先准备好jemalloc的rpm
包。可以到以下网址获取下载链接:
- https://pkgs.org/download/jemalloc
进入新建的Percona-Server
目录,下载jemalloc的rpm
包:
[root@localhost /usr/local/src]# cd Percona-Server
[root@localhost /usr/local/src/Percona-Server]# wget http://rpms.remirepo.net/enterprise/8/remi/x86_64//jemalloc-5.1.0-3.el8.remi.x86_64.rpm
完成以上步骤后,现在就可以通过yum
命令以本地形式安装Percona Server了:
[root@localhost /usr/local/src/Percona-Server]# yum localinstall -y *.rpm
等待片刻安装完成后,启动Percona Server,启动命令与启动MySQL是一样的:
[root@localhost ~]# systemctl start mysqld
有正常监听3306
端口,代表启动成功:
[root@localhost ~]# netstat -lntp |grep mysql
tcp6 0 0 :::33060 :::* LISTEN 21964/mysqld
tcp6 0 0 :::3306 :::* LISTEN 21964/mysqld
[root@localhost ~]#
在线安装
在线安装比本地安装更为简单,只需要几条命令即可安装完成。首先安装官方提供的yum
仓库:
[root@localhost ~]# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
然后启用该仓库:
[root@localhost ~]# percona-release setup ps80
现在就可以直接通过yum
命令安装Percona Server了:
[root@localhost ~]# yum install -y percona-server-server
- Tips:在线安装对网络有一定的要求(fan qiang),否则会非常慢
同样,等待片刻安装完成后,启动Percona Server:
[root@localhost ~]# systemctl start mysqld
有正常监听3306
端口,代表启动成功:
[root@localhost ~]# netstat -lntp |grep mysql
tcp6 0 0 :::33060 :::* LISTEN 12549/mysqld
tcp6 0 0 :::3306 :::* LISTEN 12549/mysqld
[root@localhost ~]#
系统设置
禁用Percona Server的开机自启动:
[root@localhost ~]# systemctl disable mysqld
Removed /etc/systemd/system/multi-user.target.wants/mysqld.service.
Removed /etc/systemd/system/mysql.service.
[root@localhost ~]#
- Tips:之所以要禁用开机自启,是因为在PXC集群中,当一个节点宕机重启后,它会随机与一个PXC节点进行数据同步。如果该节点宕机时间过长,那么需要同步的数据量就会比较大。当发生大量数据同步时,PXC集群会限制其他的写入操作,直到数据全部同步成功。所以长时间宕机之后,正确的做法是不要马上启动节点,而是先从其他节点拷贝数据文件到该节点中,然后再进行启动。这样需要同步的数据就会少很多,不会引起长时间的限速。
如果系统有开启防火墙则需要开放3306
端口:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#
修改数据库配置
修改配置文件:
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
# 设置字符集
character_set_server=utf8
# 设置监听的ip
bind-address=0.0.0.0
# 跳过DNS解析
skip-name-resolve
重启Percona Server:
[root@localhost ~]# systemctl restart mysqld
接着修改root账户的默认密码。我们可以在mysql的日志文件中找到初始的默认密码。下图红框标注的就是默认密码:
然后使用mysql_secure_installation
命令修改root账户的密码:
[root@localhost ~]# mysql_secure_installation
为了安全起见,root账户一般是不允许远程登录的,所以我们需要单独创建一个用于远程访问的数据库账户:
[root@localhost ~]# mysql -uroot -p
mysql> create user 'admin'@'%' identified by 'A123456a.';
mysql> grant all privileges on *.* to 'admin'@'%';
mysql> flush privileges;
最后使用连接工具进行远程连接测试:
到此为止,我们就成功将Percona Server安装在了CentOS 8上。由于Percona Server与MySQL基本是兼容的,所以各方面操作与MySQL无异,只需要当成MySQL去使用即可,这里就不过多赘述了。