Compass 连接错误
本页各节列出在连接时常见的错误MongoDB Compass并提供可能的解决方案。
MongoDB在提供的主机和端口上未运行
Compass尝试连接到指定主机和端口上的数据库时,您的连接失败。
可能的原因
此错误通常发生在以下情况下
您在Compass连接对话框中未提供主机名或提供了无效的主机名。Compass连接对话框。
目标服务器拒绝在错误的端口上进行连接。
您的MongoDB集群或服务器已关闭或服务器主机名已更改。
您有一个防火墙正在积极阻止与本地网络之间的连接。
解决方案
此问题的解决方案可能取决于您的MongoDB环境配置。选择适合您的MongoDB环境的选项卡以查看可能的解决方案
如果您拥有自托管的 MongoDB 服务器、副本集或集群,请尝试以下解决方案。
确保您的 MongoDB 实例正在运行
Compass必须连接到正在运行的 MongoDB 实例。请确保您已安装 MongoDB 并有一个运行的 mongod 进程。您还应该检查 MongoDB 实例运行的端口与您在Compass连接对话框。
必需的配置文件设置:bindIp
如果您最近安装了 MongoDB 数据库服务器,并且无法与该服务器建立初始连接,请验证您是否已指定服务器 net.bindIp
配置文件中的有效设置。
主机名和端口
如果您的自托管服务器通过 net.bindIp
在外部网络上监听,请验证您已正确指定主机名 和 端口 在Compass连接对话框。
MongoDB 服务器已移动或关闭
您的 MongoDB 集群或服务器可能已关闭,或其主机名已更改。请联系您的数据库管理员获取数据库状态更新。
防火墙
如果您认为您的防火墙可能正在积极阻止对数据库运行端口(端口)的连接,请尝试从不同的位置连接,例如家庭或网吧网络。您还可以访问http://portquiz.net/来测试您对不同端口的连接。
如果您正在连接到Atlas集群,首先按照通过 Compass 连接页面上的说明操作。该页面的步骤将帮助确保您的连接设置针对AtlasMongoDB 服务器迁移或关闭Atlas.
服务器迁移或关闭进行了优化
您的 MongoDB 集群或服务器可能已关闭,或其主机名已更改。请联系您的数据库管理员获取数据库状态更新。
防火墙
如果您认为您的防火墙可能正在积极阻止对数据库的连接,请尝试从不同的位置连接,例如家庭或网吧网络。
Atlas集群在端口27017上运行。您必须能够访问此端口才能访问您的集群。要检查您的本地网络是否阻止对端口27017的连接,请访问http://portquiz.net:27017/.
Atlas IP白名单不包括您的地址
Atlas仅允许从项目IP白名单中列出的地址连接到集群。请确保您已将IP地址加入白名单,以便您能够连接到集群。
插入文档按钮不可用且无法修改文档
当使用Compass时,您可能处于无法执行任何写操作,只能读取数据的状态。
可能观察到的现象
当您处于此状态时
“创建集合”和“插入文档”按钮已被禁用。
您无法修改任何文档。
可能原因
此行为有两个可能的原因
您连接到集群的次要成员,该成员不支持写操作。
您正在使用 Compass 只读版,该版本不支持写操作。
解决方案
检查读取偏好设置
在Compass 连接对话框中,将您的读取偏好设置为主节点。这将确保您连接到支持写操作的主集群成员。
检查副本集名称
请确保您的副本集名称准确无误。Compass只有在副本集名称准确的情况下,才能正确识别主节点。
如果您的集群托管在Atlas,您可以按照以下步骤获取正确的副本集名称
导航到您的Atlas 集群视图。
为您的目标集群点击连接。
点击使用MongoDB Compass连接。
复制提供的连接字符串。
打开MongoDB Compass.
点击是以自动填写连接设置。
检查您的Compass版本
您不能在 Compass只读 版本中进行写操作。您可以通过打开顶级Compass下拉菜单并选择 关于MongoDB Compass 来检查您的Compass版本。
要执行写操作,您必须下载MongoDB Compass的不同版本。有关Compass版本之间差异的更多信息,请参阅 Compass版本功能表。
集群分片连接已关闭
此错误意味着在初始设置完成之前,您的MongoDB集群连接已关闭。
可能观察到的结果
您可能会在以下位置看到错误MongoDB Compass类似于以下内容
connection 3 to cluster0-shard-00-00-a1b2c.mongodb.net:27017 closed
可能原因
此错误最常见的原因是缺少Atlas IP白名单条目,该条目对应运行Compass的公共IP地址。
解决方案
确保Compass运行的公共IP地址已包含在您的Atlas项目IP白名单中。
要配置您的Atlas白名单
请使用Atlas页面左上角的Atlas上下文
下拉菜单选择您希望的项目。
点击
“安全”标签页。
点击
“IP白名单”菜单选项。
Atlas如果您的IP地址不在白名单中,请点击
“添加IP地址”。
点击
“添加当前IP地址”。Atlas点击
“确认”。
此错误信息表明,您连接到了副本集的一个二级成员,但没有提供正确的副本集名称,并且需要根据您的读取优先级连接到主节点。
解决方案
验证Atlas副本集名称
您应确保在Compass连接对话框。
如果您的集群托管在Atlas,您可以按照以下步骤获取正确的副本集名称
导航到您的Atlas 集群视图。
为您的目标集群点击连接。
点击使用MongoDB Compass连接。
复制提供的连接字符串。
打开MongoDB Compass.
点击是以自动填写连接设置。
允许Compass连接到二级节点
解决此错误的另一种方法是允许Compass连接到二级集群成员。将您的读取优先级更改为连接设置中的首选主节点或首选二级节点。这应该允许您绕过此错误并连接。
注意
当您连接到二级集群成员时,您无法创建或修改文档、索引或数据库。仅在您不需要执行任何写操作时使用此解决方案。
认证失败
当您尝试使用Compass连接到您的集群时,您可能会遇到显示 认证失败 的错误消息。
可能的原因
此错误消息通常是以下五种情况之一的结果
在从复制的连接字符串自动填充您的连接详细信息后,您的 密码 已丢失。Compass需要您在连接对话框中手动输入密码作为安全预防措施。
您的 用户名 和/或 密码 不正确。
您尚未为您的Atlas集群配置任何 MongoDB 用户
您没有选择正确的 认证 方法。
您没有指定正确的 认证数据库。此设置对应于连接字符串选项中的 authSource。
注意
对于Atlas集群,认证数据库通常是
admin
。
解决方案
请确保您提供了正确的 用户名 和 密码。
请确保您要认证的 MongoDB 用户存在。
验证您的 认证数据库 和认证机制。
验证您选择的认证机制是否受您的 MongoDB 数据库支持。
检查 Compass 日志
日志Compass可以提供有关连接错误的附加信息。您可能会找到更详细的错误消息,以帮助诊断您的问题。有关更多信息,请参阅 检索 Compass 日志。