1.先将环境配好(三个都做)
ip 角色
192.168.23.112 pxc1
192.168.23.113 pxc2
192.168.23.114 pxc3
host解析(三个都做)
cat >> /etc/hosts << EOF
192.168.23.112 pxc1
192.168.23.113 pxc2
192.168.23.114 pxc3
EOF
2.配置 Percona 存储库(三个都做)
yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
3.查看现有存储库(三个都做)
yum repolist
4.启用percona cluster存储库(三个都做)
percona-release enable-only pxc-80 release
percona-release enable tools release
yum repolist
5.安装 Percona XtraDB 集群(三个都做)
dnf module disable mysql
yum install percona-xtradb-cluster
6.启动myqld(三个都做)
systemctl start mysqld
7.初始化数据库(三个都做)
vim /etc/my.cnf
[mysqld]
server-id=112 #另外两台是113 114
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
binlog_expire_logs_seconds=604800
8..修改密码(三个都做)
tmp_pass=`awk '/temporary password/ {print $NF}' /var/log/mysqld.log`
mysqladmin -uroot -p"$tmp_pass" password 'MySQL@123'
alter user root@localhost identified by '123456';
9.
授权用户
# mysql -uroot -p123456
mysql> CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'MySQL@123';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT all privileges ON *.* TO 'admin'@'%';
Query OK, 0 rows affected (0.00 sec)
10.创建集群
[root@pxc1 ~]# vim /etc/my.cnf
...######## wsrep ###############
# Path to Galera library
wsrep_provider=/usr/lib64/galera4/libgalera_smm.so# Cluster connection URL contains IPs of nodes
#If no IP is found, this implies that a new cluster needs to be created,
#in order to do that you need to bootstrap this node
wsrep_cluster_address=gcomm://192.168.23.112,192.168.23.113,192.168.23.114# PXC集群的所有ip
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW# Slave thread to use
wsrep_slave_threads=8wsrep_log_conflicts# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2 # 主键自增长不锁表# Node IP address
wsrep_node_address=192.168.23.112 # 当前节点的IP
# Cluster name
wsrep_cluster_name=pxc-cluster # PXC集群的名称#If wsrep_node_name is not specified, then system hostname will be used
wsrep_node_name=pxc1 # 当前节点的名称
#pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
pxc_strict_mode=ENFORCING
# SST method
wsrep_sst_method=xtrabackup-v2 # 同步方法
另外两个改ip和name就行了
11.拷贝
scp /var/lib/mysql/*.pem pxc2:/var/lib/mysql/
scp /var/lib/mysql/*.pem pxc3:/var/lib/mysql/
12.启动
systemctl start [email protected](第一个节点,有时报错就cat /var/log/mysqld.log)
chown -R mysql.mysql /var/lib/mysql/
systemctl start mysqld(第二个节点,第三个节点)
[root@pxc1 ~]# mysql -uroot -p123456 -e "show status like 'wsrep_cluster%';"
+----------------------------+--------------------------------------+
| Variable_name | Value |
+----------------------------+--------------------------------------+
| wsrep_cluster_weight | 3 |
| wsrep_cluster_conf_id | 3 |
| wsrep_cluster_size | 3 |
| wsrep_cluster_state_uuid | eebe303f-5262-11e8-9e80-8a8d84011541 |
| wsrep_cluster_status | Primary |
+----------------------------+--------------------------------------+
13.下线
systemctl stop [email protected](第一个节点)
systemctl stop mysqld(第二个和第三个节点)