MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

CentOS 7.9,二分钟搭建好MySQL8.0-PXC集群(实操不说原理)

2025-06-23 19:26 huorong 精选文章 1 ℃ 0 评论

推荐

CentOS 7.9服务器,一分钟部署完mysql8.0

Mycat1.6版部署mysql读写分离

Mycat2版部署mysql读写分离

一/环境准备

1/CentOS 7.9

2/Percona XtraDB Cluster 8.0程序包

3/3 台 CentOS 7.9

二/安装yum源和下载包

安装 percona-release
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
下载安装包
https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/#
https://downloads.percona.com/downloads/Percona-XtraDB-Cluster-80/Percona-XtraDB-Cluster-8.0.30/binary/redhat/7/x86_64/Percona-XtraDB-Cluster-8.0.30-raff6a8b-el7-x86_64-bundle.tar

三/安装PXC

# 安装 pxc
tar -xvf Percona-XtraDB-Cluster-8.0.27-rac35177-el7-x86_64-bundle.tar 
安装
sudo yum install -y percona-xtradb-cluster-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-full-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-shared-8.0.30-22.1.el7.x86_64.rpm Percona-XtraDB-Cluster-8.0.30-raff6a8b-el7-x86_64-bundle.tar  percona-xtradb-cluster-garbd-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-shared-compat-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-client-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-icu-data-files-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-test-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-debuginfo-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-mysql-router-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-devel-8.0.30-22.1.el7.x86_64.rpm percona-xtradb-cluster-server-8.0.30-22.1.el7.x86_64.rpm

四/创建文件和权限

mkdir /data/mysql/
chown -R mysql:mysql /data/mysql/

五/配置文件

第一台服务器

[root@ab_10_0_0_225 data]# cat /etc/my.cnf 
[client]
socket=/var/lib/mysql/mysql.sock
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
server-id=225
datadir=/data/mysql/data
socket=/var/lib/mysql/mysql.sock
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld/mysqld.pid

#连接数
max_connections = 2000

#innodb使用内存
innodb_buffer_pool_size = 1G

#utf8mb4编码
character-set-client-handshake = FALSE
character-set-server = utf8mb4
init_connect='SET NAMES utf8mb4'

#开启log-bin日志
log-bin-trust-function-creators=1
#开启事件调度器
event_scheduler=1

#慢查询开启
slow_query_log=1
#慢查询时间为2s
long_query_time=2

#缓冲的数据hash到不同的缓冲池中,并行的内存读写
innodb_buffer_pool_instances = 2
#该变量将数据存导入到内存中,可以减少大量的IO资源消耗。当事务提交时,保存数据,后续在刷
#新到磁盘。
innodb_log_buffer_size = 128M

#在一个日志组每个日志文件的字节大小,日志文件的总大小
innodb_log_file_size = 256M
#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。
innodb_file_per_table =ON
#库里的表特别多的情况使用,这个值默认是300M
innodb_open_files=2M
#限制了一次有多少线程能进入内核,0表示不限制进入内核的数量
innodb_thread_concurrency=0

#开启log-bin日志
log-bin-trust-function-creators=1
#开启事件调度器
event_scheduler=1
#关闭大小写
lower_case_table_names=1

#pxc

binlog_expire_logs_seconds=604800

wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
#配置集群信息地址如wsrep_cluster_address=gcomm://10.1.1.225,10.1.1.226,10.1.1.227
wsrep_cluster_address=gcomm://
binlog_format=ROW
wsrep_slave_threads=8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
#集群的名字,必须是统一的
wsrep_cluster_name=pxc-cluster-sz-abc
#该节点的名称
wsrep_node_name=pxc-abc-node-sz-1
#该节点的地址
wsrep_node_address=10.1.1.225
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
#集群同步的用户名密码,这里没用到
#wsrep_sst_auth=abc:666666
#启用加密自动配置的变量
pxc-encrypt-cluster-traffic=OFF
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

六/修改用户

# 重启 MySQL
systemctl restart mysql.service

# 查看初始密码
grep 'temporary password' /data/mysql/mysqld.log

#修改密码
#8.0 需要先用这条命令
alter user 'root'@'localhost' identified by '1234567890';
CREATE USER 'root'@'%' IDENTIFIED BY '1234567890'; 
GRANT ALL ON *.* TO 'root'@'%'; 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234567890';
#密码永不过期的
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567890' PASSWORD EXPIRE NEVER;
 
# 查看 MySQL 版本
select @@version ;

# 更新权限
flush privileges;

七/安装二三台服务器

安装步骤同上可得。

注:修改项
1/my.cnf文件内容;
#id一般ip的最后个位就行
server-id=226
#把所有集群ip写入,等二,三台服务器部署好,mysql启来了再修改第一台服务器的配置
wsrep_cluster_address=gcomm://10.1.1.225,10.1.1.226,10.1.1.227
#集群的名字,必须是统一的
wsrep_cluster_name=pxc-cluster-sz-abc
#该节点的名称pxc-abc-node-sz-2; pxc-abc-node-sz-3
wsrep_node_name=pxc-abc-node-sz-2
#该节点的地址10.1.1.226,10.1.1.227
wsrep_node_address=10.1.1.226

八/查看集群

# 重启 MySQL
systemctl restart mysql.service

#查看集群状态,可以看到集群中有3个节点
root@localhost 16:43: [(none)]>show global status like 'wsrep_cluster_%';
+--------------------------+--------------------------------------+
| Variable_name            | Value                                |
+--------------------------+--------------------------------------+
| wsrep_cluster_weight     | 3                                    |
| wsrep_cluster_conf_id    | 3                                    |
| wsrep_cluster_size       | 3                                    |
| wsrep_cluster_state_uuid | b30f83dd-be99-11ea-b21c-b61232d3c9ee |
| wsrep_cluster_status     | Primary                              |
+--------------------------+--------------------------------------+
5 rows in set (0.00 sec)
root@localhost 16:49: [(none)]>show global status like '%wsrep_ready%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_ready   | ON    |
+---------------+-------+
1 row in set (0.00 sec)

九/使用Navicat查看

Tags:centos 9

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言