手把手教你安装 MySQL InnoDB Cluster 8.0.34

MySQL InnoDB Cluster 提供完整的高可用性 MySQL 解决方案。通过使用 MySQL Shell 附带的 AdminAPI,您可以轻松配置和管理至少三个 MySQL 服务器的组实例以充当 InnoDB 集群。

InnoDB Cluster 主要使用如下三大主件:
● MySQL Shell
● MySQL服务器和组复制
● MySQL Router

InnoDB 集群中的每个 MySQL 服务器实例都运行 MySQL Group Replication,它提供了在 InnoDB 集群内复制数据的机制,并具有内置的故障切换。Admin API 消除了在 InnoDB 集群中直接使用 Group Replication 的需要,但有关更多信息,请参阅解释详细信息的 Group Replication。从 MySQL 8.0.27 开始,您还可以设置 InnoDB ClusterSet,通过将主 InnoDB 集群与其他位置(如不同的数据中心)的一个或多个副本链接,为 InnoDB 集群部署提供容灾能力。

MySQL Router 可以根据您部署的集群自动配置,将客户端应用程序透明地连接到服务器实例。在服务器实例发生意外故障的情况下,群集会自动重新配置。在默认的单主模式中,InnoDB 集群有一个读写服务器实例-主实例。多个辅助服务器实例是主服务器的副本。如果主服务器出现故障,辅助服务器将自动升级为主服务器。MySQL Router 检测到这一点,并将客户端应用程序转发到新的主应用程序。

如下是官方 MySQL InnoDB Cluster 架构简图:

下图是我三台 Linux7 部署架构图,IP 分别为 56、57、58,56 Node1 为主节点,并安装 MySQL 和 router,57 Node2、58 Node3 为从节点,也安装 MySQL 和 router,并在 Node3 安装了 shell。Node3 的 shell 用来安装 InnoDB Cluster,其他每个节点的 router 地址则作为高可用地址分配给 K8S 应用容器。当然官方建议将 router 和应用容器一起部署,我这么部署和使用也没有太大的问题。

下面开始使用最传统的方式从零开始安装 MySQL InnoDB Cluster 8.0.34 单主模式,Linux X86 操作系统已安装好,并且 yum 源配置完成,1T /data 文件系统已挂载,所需软件包已下载并上传到服务器。也可参考去年的主从搭建文档----Linux 环境搭建 MySQL8.0.28 主从同步环境。

--所需的软件包 https://dev.mysql.com/downloads/mysql/8.0.html mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz mysql-shell-8.0.34-1.el7.x86_64.rpm mysql-router-8.0.34-linux-glibc2.12-x86_64.tar.xz