Centos 7.4部署PXC详细记录
1,利用官方yum源安装Percona-XtraDB-Cluster-57
实验环境:
节点1:192.168.2.11
节点2:192.168.2.12
节点3:192.168.2.13
官方yum源地址:http://repo.percona.com/release/centos/latest/RPMS/x86_64/
或者执行以下命令安装官方yum源repo配置文件:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
在三个节点上配置好yum源后,分别执行以下命令安装PXC:
yum install Percona-XtraDB-Cluster-57
遇到的问题:yum安装失败
报错信息如下:
Transaction check error:
file /etc/my.cnf conflicts between attempted installs of Percona-XtraDB-Cluster-server-57-5.7.21-29.26.1.el7.x86_64 and MariaDB-common-10.2.11-1.el7.centos.x86_64
file /usr/lib64/mysql/plugin/dialog.so conflicts between attempted installs of Percona-XtraDB-Cluster-server-57-5.7.21-29.26.1.el7.x86_64 and MariaDB-common-10.2.11-1.el7.centos.x86_64
有两文件存在冲突,应该是前面安装mariadb的残留文件。
于是删除两文件,再次yum安装:
[root@node1 ~]#ls /etc/my.cnf
my.cnf my.cnf.d/
[root@node1 ~]#ls /etc/my.cnf.d/mysql-clients.cnf
/etc/my.cnf.d/mysql-clients.cnf
[root@node1 ~]#rm -rf /etc/my.cnf
[root@node1 ~]#rm -rf /etc/my.cnf.d/
但是再次报错,信息如下:
Transaction check error:
file /etc/my.cnf conflicts between attempted installs of Percona-XtraDB-Cluster-server-57-5.7.21-29.26.1.el7.x86_64 and MariaDB-common-10.2.11-1.el7.centos.x86_64
file /usr/lib64/mysql/plugin/dialog.so conflicts between attempted installs of Percona-XtraDB-Cluster-server-57-5.7.21-29.26.1.el7.x86_64 and MariaDB-common-10.2.11-1.el7.centos.x86_64
猜测是否存在某个之前安装的mariadb相关的程序包导致的冲突,于是使用yum remove "mariadb*"
命令,果然有两个相关的依赖包存在。(我还试过MariaDB等关键字,但没有有用信息。)
[root@node1 ~]#yum remove "mariadb*"
…… ……
Erasing : 2:postfix-2.10.1-6.el7.x86_64 1/2
Erasing : 1:mariadb-libs-5.5.56-2.el7.x86_64 2/2
Verifying : 1:mariadb-libs-5.5.56-2.el7.x86_64 1/2
Verifying : 2:postfix-2.10.1-6.el7.x86_64 2/2
Removed:
mariadb-libs.x86_64 1:5.5.56-2.el7
Dependency Removed:
postfix.x86_64 2:2.10.1-6.el7
Complete!
再次使用yum安装Percona-XtraDB-Cluster-57成功。
另外,在安装之前,建议关闭selinux和防火墙,或者在防火墙中开放以下端口:3306、4444、4567、4568,否则可能会导致服务启动失败。这四个端口在PXC集群中的作用如下:
3306 数据库对外提供服务的端口
4444 镜像数据传输SST,集群数据同步端口,全量同步,新节点加入时起作用
4567 集群节点间相互通信的端口
4568 增量数据同步IST,节点下线、重启后使用该端口,增量同步数据。
2,修改默认密码
各节点安装完成后需要启动mysqld服务,在第一次启动服务时PXC会创建随机默认密码并保存在日志文件/var/log/mysqld.log
中,使用grep
命令搜索关键字temporary password
即可查看。
[root@node1 ~]#systemctl start mysqld
[root@node1 ~]#grep "temporary password" /var/log/mysqld.log
2018-05-27T00:29:52.534443Z 1 [Note] A temporary password is generated for root@localhost: rkMXb7doO>Pu
然后使用该密码登录mysql,并使用alter user
命令修改root账户密码。
[root@node1 ~]