docker环境,搭建Mysql Innodb Cluster集群

启动 mysql-shell 容器后,通过 mysql-shell 来搭建 MGR 集群,MGR 节点的 IP 包括 172.19.0.2、172.19.0.3 和 172.19.0.4。通过 dba.checkInstanceConfiguration 检查用户的权限、MySQL 配置等是否满足搭建 MGR 集群的条件。然后,创建一个 MGR 集群,包括在连接的节点上创建存储元数据信息、...
docker环境,搭建Mysql Innodb Cluster集群
在 Docker 环境下搭建 MySQL InnoDB Cluster 集群的步骤如下:

首先,我们使用 MySQL Shell 作为管理工具,MySQL Router 作为访问路由转发中间件,以及 MySQL Group Replication 作为高可用与高扩展解决方案。

接着,准备 MGR 节点。如果在 docker 环境下搭建 Mysql MGR 集群,可以参考前文。在搭建 InnoDB Cluster 时,需要在 docker-entrypoint.sh 中添加配置参数,包括 binlog_checksum、enforce_gtid_consistency、gtid_mode 和 server_id,这些是搭建 InnoDB Cluster 必须的配置。然后启动 MGR 容器,并通过 mysql-mgr.sh 创建 clusteradmin 用户。

接下来,使用 mysql-shell 搭建 MGR 集群。下载 mysql-shell_8.0.18-1ubuntu16.04_amd64.deb,并构建相应的镜像。启动 mysql-shell 容器后,通过 mysql-shell 来搭建 MGR 集群,MGR 节点的 IP 包括 172.19.0.2、172.19.0.3 和 172.19.0.4。通过 dba.checkInstanceConfiguration 检查用户的权限、MySQL 配置等是否满足搭建 MGR 集群的条件。然后,创建一个 MGR 集群,包括在连接的节点上创建存储元数据信息、验证配置信息、将此节点注册为 seed 节点、创建必要的管理账号以及启动 Group Replication。

在添加其他节点时,需要手动启动相应的 docker 容器。完成节点添加后,进入 MGR 节点,查看集群信息,确认 MGR 集群已经搭建完成,master 节点是其中一个集群成员。

为了实现请求转发,下载 mysql-router-community_8.0.18-1ubuntu16.04_amd64.deb 并构建相应的镜像,启动 mysql-router。通过 mysql-router 可以自动生成配置,但需要通过 IP 登录 MGR 集群中 master 节点的 root 用户。在 master 节点创建一个 'root'@'172.19.0.5' 用户并授权(172.19.0.5 是 mysql-router 的 IP)。自动生成配置后,可以通过查看生成的配置来了解协议模式和非协议模式下读写端口的设置。

启动 mysql-router,至此,就可以通过 mysql-router 连接到 MGR 集群。在 mgr-2 容器中,通过 mysql-router 连接到 MGR 集群,并执行简单的 SQL 操作。当将 master 容器(即 mgr-1 容器)停止后,可以看到 MGR 集群的主节点自动切换到另一个集群成员(mgr-2)。在切换后,mysql-router 可以根据 Mysql InnoDB Cluster 中的 metadata 调整请求路由,确保 client 请求被路由到新的主服务器节点,因此,继续执行 SQL 操作是成功的。2024-09-28
mengvlog 阅读 7 次 更新于 2025-07-20 14:53:59 我来答关注问题0
  •  翡希信息咨询 docker环境,搭建Mysql Innodb Cluster集群

    在 Docker 环境下,参考相关文档搭建 Mysql MGR 集群。在 dockerentrypoint.sh 中添加必要的配置参数,包括 binlog_checksum、enforce_gtid_consistency、gtid_mode 和 server_id。启动 MGR 容器,并通过 mysqlmgr.sh 创建 clusteradmin 用户。搭建 MGR 集群:下载并构建 mysqlshell 的 Docker 镜像。启动 ...

  •  翡希信息咨询 Docker 一文安装常见软件-搭建环境

    创建与配置:创建Nginx的配置文件,可以先启动Nginx容器,然后复制容器内的默认配置文件进行修改。 验证安装:启动Nginx后,通过浏览器访问http://服务器ip:9002来验证Nginx是否安装成功。通过以上步骤,你可以在Docker中成功安装MySQL、Redis和Nginx,并搭建好相应的环境。

  • 通过Mysql客户端或可视化软件如Navicat Premium连接MySQL服务,实现数据库操作。Docker提供了终端与Docker Desktop两种方式启动或停止MySQL容器。安装MongoDB Docker版类似,首先访问DockerHub Mongo网页选择合适版本,然后使用docker run命令启动MongoDB容器。使用Navicat Premium等工具连接MongoDB,完成数据库连接与操...

  • 使用以下命令从 Docker Hub 下载最新版本的 MySQL 8.0 镜像:bashdocker pull mysql:8.03. 运行容器: 使用 docker run 命令创建并运行一个名为 mysql8 的容器,同时设置环境变量 MYSQL_ROOT_PASSWORD 为您自定义的密码,并将内部端口 3306 映射到主机的外部端口 3306:bashdocker run name mysql8 ...

  •  翡希信息咨询 群晖-第3章-Docker安装mysql

    打开Docker套件 首先,登录到你的群晖NAS的管理界面,找到并打开Docker套件。Docker套件是群晖提供的一个容器化应用平台,允许你在NAS上运行各种容器化应用。搜索MySQL镜像 在Docker套件中,点击左侧的“注册表”选项,然后在搜索框中输入“mysql”。在搜索结果中,选择第一个官方MySQL镜像,并点击“下载”...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部