使用 mysql-server docker 容器在多个服务器上创建 MySQL 集群

2024-04-01

我正在尝试使用以下命令创建一个包含 3 个节点的 MySQL 集群mysql 服务器 https://hub.docker.com/r/mysql/mysql-server/码头集装箱。

I have 3个独立的云实例并且 docker 已在所有 3 个上安装。每台服务器上仅运行 1 个容器- 在集群中实现高可用性。

我使用以下命令分别在所有 3 台服务器上启动容器

docker run --name=db -p 3301:3306 -v db:/var/lib/mysql -d mysql/mysql-server

我将容器的端口 3306 映射到我的服务器的3301端口。我还创建了一个新用户“clusteradmin”用于远程访问。

接下来,我从 mysql-shell 运行以下命令 - 对于所有 3 台服务器

dba.configureInstance('clusteradmin@serverIp:3301')

I get similar message for all- enter image description here

Note它显示“此实例将其自己的地址报告为 39xxxxxxxxxxx:3306”。

接下来,我在其中一台服务器上成功创建了一个集群。但是,当将其他 2 个服务器添加到该集群时,我收到以下错误

在检查该特定服务器的日志时,我看到以下几行

它说“对等地址 a9yyyyyyyyyy:33061 无效”。这是因为,由于容器运行在不同的服务器上,因此其他服务器上的其他容器无法识别该容器 ID。

我尝试了很多选择,但都无济于事。一种方法是使用报告主持人 and 报告端口启动容器时的选项,如下所示

docker run --name=db2 -p 3301:3306 -v db2:/var/lib/mysql -d mysql/mysql-server --report-host=139.59.11.215 --report-port=3301

但是,这种方法的问题是,在 dba.configureInstance() 期间,它想要将端口更新为默认值并抛出错误,如下所示

任何成功创建这样一个在不同服务器上运行的 mysql-server 容器集群的人,我真的很感激这方面的指点。


我已经查看了文档和源代码,但没有找到解释为什么监听和通告不同端口是有问题的。

我已经通过使用解决了这个问题--port 3301调用 mysql-server 时:

docker run --name=db2 -p 3301:3301 -v db2:/var/lib/mysql -d mysql/mysql-server --report-host=139.59.11.215 --port 3301
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 mysql-server docker 容器在多个服务器上创建 MySQL 集群 的相关文章

随机推荐

  • 使用 Node.js 的文件系统观察器

    我想使用 node js 实现文件系统观察器 以便它监视特定目录中添加 删除的任何文件 有人可以给出如何实现这个的想法吗 Thanks 查看fs watchFile filename options listener http nodejs
  • 通过模态加载动态 URL

    假设我有以下由循环生成 X 次的链接 a class btn href Launch Modal a 这是启动模式的 JS 脚本 document ready function view more modal remote item vie
  • 权限拒绝:打开提供程序 android.support.v4.content.FileProvider

    我在尝试在 Android 模拟器中执行应用程序升级时遇到了一些问题 场景的流程来自一个 Activity 我将执行异步任务A哪个打开片段A 然后在里面异步任务A 我会检查是否有版本升级 如果可用并且用户选择了 确定 片段A 我将继续异步任
  • 调用需要 API 级别 29(当前最低为 21):`android.widget.NumberPicker#setTextColor`

    我想使用 setTextColor 更改选定的文本颜色字段 但是 Android Studio 给了我这个错误 我应该怎么办 最小 SDK 为 21 这是我的 CustomNumberPicker 类的代码 import android a
  • MongoDb 解释失败:“未知的顶级运算符:$query”

    我试图从非常简单的查询中获得解释 它使用具有以下架构的帖子集合 gt db posts findOne id ObjectId 55236e6182bf196454a952b6 Content wuOfCjKborHcxkoyXzXiW C
  • Mysql CASE WHEN JOIN 语句错误

    Mysql查询 SELECT FROM pet info LEFT JOIN lostpets ON pet info id lostpets petid LEFT JOIN pet images ON pet info id pet im
  • 页面加载后部分渲染

    我有一个包含一些用户控件的页面 我想在回发后加载这些用户控件 就像 ajax 渲染一样 每个用户控件都显示数据库中的列表 我不希望用户在服务器代码构建响应时等待 我认为如果为用户显示页面并且在通过 ajax 请求加载用户控件之后 这将很有用
  • 如何在未来取消时终止 Callable 中的 CXF Web 服务调用

    Edit 这个问题现在已经经历了几次迭代 所以请随意查看修订版本 以了解有关历史和尝试过的事情的一些背景信息 我将 CompletionService 与 ExecutorService 和 Callable 一起使用 通过 CXF 生成的
  • 包含 jQuery 会导致标准 JavaScript 停止运行?

    我正在开始使用 jQuery 我一直在尝试将它与一些预先存在的 JavaScript 代码混合 这样我就不必重写所有内容 我读过很多地方都说这是完全可行的 然而 每当我包含任何 jQuery 行时 标准 JavaScript 就会停止运行
  • RubyKoans:破损的公案?

    可能是业余爱好者的标志 我想知道问题是否出在公案 而不是我 但是 考虑一下这个公案 def test calling global methods without parentheses result my global method 2
  • 取消 ChangeNotifier 内的 Firebase 监听器

    当我尝试取消 Firestore 侦听器时ProductsService cancel 我收到错误 错误 flutter lib ui ui dart state cc 209 未处理的异常 LateInitializationError
  • JSF 2.0 validateRegex 带有自己的验证器消息

    我有一个与此类似的代码
  • 控制 Akka 中消耗大量内存的 actor 的生成

    我使用 akka 的 actor 模型构建了一个分布式流机器学习模型 通过向 Actor 发送训练实例 训练数据 来异步训练模型 对这些数据的训练会占用计算时间并改变参与者的状态 目前我正在使用历史数据来训练模型 我想运行一堆不同配置的模型
  • 如何用时刻设置时区?

    我正在使用 moment 来获取服务器时间 moment tz setDefault Asia Kolkata var now new Date var p date moment tz now zone format 插入时间 p dat
  • 在 DevExpress 中计算 ASPxGridview 列

    我有一个ASPxGridview 通常是 21 列 但我只想要处理 4 列 每列都有一个十进制值 MV EDDIE列为空 我想要的是 以编程方式计算 MV EDDIE列是RISK EUR IPOTEK MV BERND 只有在GroupSu
  • Spring 3.1 @Cacheable - 方法仍然执行

    我正在尝试按照解释实现 Spring 3 1 缓存here http www javacodegeeks com 2011 02 spring 31 cache abstraction tutorial html and here http
  • 带条件的 foreach 循环

    我可以用多个条件进行循环 如下所示 for int i 0 condition1 condition2 conditionN i 有没有办法使用 foreach 来做到这一点 foreach var i in arr and while c
  • 入口点不能用“async”修饰符标记

    我从下面复制了代码this http blogs msdn com b csharpfaq archive 2012 06 26 understanding a simple async program aspx链接 但是当我编译这段代码时
  • JQuery,分层表分页

    多次询问分层表和表分页 但我正在寻找他们两个 我已经在我的应用程序中使用 JQuery 因此使用相同的插件将会很有用 但我愿意接受任何建议 目前 我设法使用一些 jQuery 插件来显示分层数据 并添加了我自己的分页方法 但它还不够 我正在
  • 使用 mysql-server docker 容器在多个服务器上创建 MySQL 集群

    我正在尝试使用以下命令创建一个包含 3 个节点的 MySQL 集群mysql 服务器 https hub docker com r mysql mysql server 码头集装箱 I have 3个独立的云实例并且 docker 已在所有