【问题标题】:mongodump failed connecting to monogdb after version downgrade版本降级后,mongodump 无法连接到 mongodb
【发布时间】:2018-05-25 08:46:18
【问题描述】:

由于我使用 mongodb-clients 2.6.10,mongodump 不再工作。使用以前的 3.4.7 版本一切正常。它是 CF AppCloud 中的专用 mongodb 数据库即服务,没有任何更改。不幸的是,无法再次使用 3.4.7 版本。 有谁知道为什么它不再起作用了?

vcap@host:~$ mongodump -u XXX -p XXX -d XXX --authenticationDatabase XXX -h kubernetes-service-node.service.consul:XXX,kubernetes-service-node.service.consul:XXX,kubernetes-service-node.service.consul:XXX    

结果:https://jsfiddle.net/yz1kp68p/

【问题讨论】:

  • 你试过重启mongoDB吗
  • 无法重启服务,但是其他几个mongodb也存在这个问题
  • 删除mongo.conf文件的身份验证后尝试
  • 我找不到 mongo.conf 文件
  • 在 etc/var/lib 中查找

标签: mongodb cloud-foundry mongodump swisscomdev


【解决方案1】:

从报错来看,很可能与mongodump版本无关。您通常可以连接到数据库吗(即使用 mongo shell 而不是 mongodump)?我的猜测是,应用程序要么没有绑定(cf bind-service)到数据库,要么在绑定后没有被重新暂存(cf resage)——两者都是启用从应用程序到数据库的防火墙访问所必需的。另外,为什么你不能再使用更新的 mongodump 版本了?听起来更像是首先需要解决的问题。

【讨论】:

  • 是的,我可以通过服务连接器和 Studio 3T 连接到数据库。 db 服务现在已正确绑定到应用程序(我之前也发现了一个问题)。数据库已经通过推送绑定到应用程序,因此不再需要重新存储。现在我有一条新的错误消息:
  • 连接到:kubernetes-service-node.service.consul:51833 断言:18 { ok: 0.0, errmsg: "auth failed", code: 18, codeName: "AuthenticationFailed" }
  • 我已经检查了几次凭据,我可以保证它们是正确的......
  • @seinol hm,查看文档,mongodump 仅从 3.0 开始支持 SCRAM-SHA-1 身份验证机制,因此旧版本将无法使用。正如我之前所说,您需要解决的问题是为什么您不能使用较新的版本,因为 2.6 太旧了。
  • 啊,是的,对不起,我忘了回答你这个问题。我使用 mongodump 的容器是 Ubuntu 可信赖的(14.04),所以包 repo 中只有 mongodb-clients 2.6 可用。在 trusty 上安装更新版本非常困难,因为该软件包有很多依赖项,我必须通过 buildpack (github.com/cloudfoundry/apt-buildpack) 安装它们。
【解决方案2】:

我从 Ubuntu 巧妙的存储库中成功安装了 mongo-tools,以获得支持 SCRAM-SHA-1 身份验证机制的 mongodump 版本。转储程序应用程序现在可以正常工作。 在我的情况下,从巧妙的存储库中安装 mongodb-clients 不起作用,但 mongo-tools 做到了。

【讨论】:

    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2018-10-20
    • 2020-09-28
    • 2022-01-08
    • 1970-01-01
    • 2020-09-03
    相关资源
    最近更新 更多