当前位置: 首页 > 知识库问答 >
问题:

Mongo 3.0.5无法从外部客户端连接

姜鸿畴
2023-03-14

我有一个mongo db实例在linux系统中运行,我正试图从windows系统连接到它。当我启用身份验证时,我会不断获得

数据库“管理员”的凭据无效...

我的用户设置看起来像

显示用户{“_id”:“test.myuser”,“user”:“myuser”,“db”:“admin”,“roles”:[{“role”:“readWrite”,“db”:“admin”},{“role”:“userAdminAnyDatabase”,“db”:“admin”}]}

如果我执行“mongo-u myuser-p password--authenticationDatabase admin”,就可以从linux框中的shell登录。我尝试使用MongoVue和RoboMongo,但都失败了。我尝试在测试数据库中创建同一个用户。日志上写着

2015-08-29T11:16:52.797-0400 I访问[conn24]身份验证失败myuser@test使用MONGODB-CR机制:用户文档中缺少身份验证失败的MONGODB-CR凭据

看起来客户没有传递凭据。知道如何实现这一点吗?

共有2个答案

尉迟华翰
2023-03-14

我用MongoChef得到了它。因此,对于最新版本的MongoDB服务器,MongoVue和RoboMongo来说,这是一个不受支持的问题。

慎星纬
2023-03-14

我不确定上面的解决方案是否应该被修复。我希望这会解决你的错误。登录你的服务器,

# mongo
> use admin
> db.system.users.remove({})    <== removing all users
> db.system.version.remove({}) <== removing current version 
> db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
> exit

重新启动MongoDB

服务mongod重启

再次创建用户名和密码。

# mongo

> use admin
> db.createUser ( { user: "username", pwd: "password", roles: [ "readWrite", "dbAdmin", "dbOwner" ] } )
 类似资料:
  • 按照这里的讨论,我使用以下步骤使外部客户端(基于 kafkajs)连接到 OpenShift 上的 Strimzi。这些步骤从这里开始。 被编辑为如下所示。 要提取证书并在客户端中使用它,我运行了以下命令: 请注意,我必须在我的macOS上使用,而不是,如留档所示。 这是从他们的 页面和他们的文档改编的客户端。 当我从具有的文件夹运行时,我收到一条连接拒绝消息。 我错过了什么?

  • 在Openshift上部署了Hazelcast映像,我已经创建了一个路由,但仍然无法从外部Java客户端连接到它。我开始知道路由仅适用于 HTTP 或 HTTPS 服务,所以我在这里错过了什么,或者我必须做什么才能将该 Hazelcast 实例暴露给外部世界? 并且为黑兹尔卡斯特创建了Docker映像,并且它在映像内部Hazelcast.jar运行,这与我面临的问题有关吗? 我尝试通过运行命令oc

  • 我创建了一个SpringBoot的示例项目,以了解外部客户机功能,运行时会出现以下错误。 com.example.demo.RestClient中的字段Remote teCallClient需要一个类型为com.example.demo.Remote teCallClient的bean,但找不到。操作:考虑在配置中定义类型为com.example.demo.远程呼叫客户端的bean。 我尝试了各种

  • 我正在尝试连接到我的AWS S3存储桶,以便根据这些链接的说明上传文件。 http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpJava.html http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/credentials.html#credenti

  • 我无法获取上一个已知位置。我已经在谷歌控制台中启用了地理编码API和谷歌地点API的Android。我在清单文件中添加了 API 密钥: 但我不断在控制台中收到一条消息:“无法连接到Google API客户端:连接结果{状态代码=API_UNAVAILABLE,分辨率=空}” 更新 我使用谷歌示例 onConnected和onConnectionFailed不调用。 而且我也使用Android反应

  • 我按照这里给出的步骤从外部Jenkins实例连接到openshift在线代理。然而,当我提供OpenShift凭据时,即使我似乎拥有正确的凭据,登录也无法通过。消息“无法请求https://openshift.redhat.com/broker/rest/domains:OpenShift Online(下一代)开发者预览版在这里!我们不会接受OpenShift Online(v2)平台上的新用户