本文核心SEO关键词:MySQL InnoDB Cluster, Ubuntu 22.04 MySQL, MySQL 读写分离, MySQL 二进制安装
在现代企业级运维中,数据库的高可用性(HA)是重中之重。MySQL InnoDB Cluster 是官方提供的原生高可用解决方案,通过 MySQL Shell、MySQL Router 和 Group Replication 技术,实现了自动故障转移、强一致性和读写分离。本文将手把手教你在 Ubuntu 22.04 x86_64 架构下,通过二进制方式从零搭建 MySQL InnoDB Cluster 单写模式集群。
为了搭建集群,我们需要至少 3 个节点以满足 Paxos 协议的投票机制:
通过二进制方式安装可以更灵活地控制目录结构。
# 1. 下载并解压# 访问官网下载 mysql-8.0.35-linux-glibc2.17-x86_64.tar.xztar -xvf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xzmv mysql-8.0.35-linux-glibc2.17-x86_64 /usr/local/mysql# 2. 创建用户与权限groupadd mysql && useradd -r -g mysql -s /bin/false mysqlmkdir -p /data/mysql_3306/{data,logs,tmp}chown -R mysql:mysql /usr/local/mysql /data/mysql_3306# 3. 初始化数据库/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_3306/data MySQL Shell 是管理集群的灵魂。我们需要在所有节点安装 MySQL Shell 并通过 dba.configureInstance() 校验配置是否符合集群要求。
注意: InnoDB Cluster 默认强制开启 SSL/TLS,二进制安装后需确保内置证书已生成。
在主节点执行以下命令创建集群:
mysqlsh --uri root@192.168.1.10:3306
> var cluster = dba.createCluster('myCluster');
> cluster.addInstance('root@192.168.1.11:3306');
> cluster.addInstance('root@192.168.1.12:3306');
> cluster.status(); 此时,一个单写模式(Single-Primary)的高可用集群就建立完成了。
MySQL Router 充当代理层,自动识别集群的主从角色,实现流量分发。
# 引导 Router 自动配置mysqlrouter --bootstrap root@192.168.1.10:3306 --user=mysql# 启动后,默认端口:# 6446: 读写端口 (指向 Primary)# 6447: 只读端口 (指向 Secondary)
至此,我们完成了 Ubuntu 22.04 MySQL 的二进制部署与集群构建。通过 SHOW STATUS LIKE 'Ssl_cipher'; 可以验证连接是否已通过 SSL/TLS 加密。该架构不仅解决了数据库宕机后的手动切库痛点,还通过 MySQL Router 完美实现了 MySQL 读写分离,极大提升了系统的可扩展性。
本文由主机测评网于2026-04-07发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260434477.html