MongoDB工具 >MongoDB指南针 > 连接到MongoDB
该页面概述了如何使用MongoDB Compass连接到MongoDB主机。您可以连接到独立,副本集或分片群集主机。
MongoDB地图集
如果需要创建MongoDB主机,请考虑使用 MongoDB Atlas。Atlas是一种云托管的数据库即服务,无需安装,提供免费的入门层,并提供可复制的URI,可轻松将Compass连接到您的部署。
如果需要安装指南针,请参阅“ 下载并安装指南针”以获取指示。
当您打开Compass时,将出现一个初始连接对话框:
Compass提供了两种连接到部署的方法,一种是提供部署连接字符串,要么是在特定字段中填写部署信息。
提供连接字符串时,Compass支持 MongoDB 支持的大多数连接字符串选项。
默认情况下,Compass的默认 socketTimeoutMS 值为60000,即60秒。如果您经常在Compass中遇到超时,请考虑在连接字符串中将此选项设置为更高的值。
有关Compass支持的连接字符串选项的完整列表,请参见 GitHub上的 Compass Connection README。
如果有用于部署的连接字符串,则可以将字符串直接粘贴到对话框中。您可以使用标准连接字符串格式 或DNS种子列表连接格式。
该主机名对话框包含以下连接字段选项:
选项 | 描述 |
---|---|
主机名 | 运行部署的计算机的主机名。 如果您在本地运行部署,则此值为
如果不确定主机名,请与数据库管理员联系以获取信息。 |
港口 | 运行部署的端口。如果您使用SRV记录连接到MongoDB部署,则不需要。 默认情况下,独立部署在port上运行 如果不确定部署所在的端口,请与数据库管理员联系以获取信息。 |
SRV记录 | 指示提供的主机名 是否为SRV记录。如果启用此切换,则无需指定端口。 注意 您只能使用SRV连接字符串连接到运行MongoDB 3.6及更高版本的部署。 SRV连接字符串的前缀为 例 如果以下是用于MongoDB部署的SRV连接字符串: 然后,在Compass中,将主机名指定 为: |
认证方式 | 如果部署需要身份验证,则使用的身份验证。Atlas群集使用 用户名/密码身份验证。 从下面的标签中选择身份验证方法,以获取具体说明:
如果部署使用MongoDB-CR或 SCRAM-SHA-1作为其身份验证机制,请选择“ 用户名/密码”。 提供Username,Password和Authentication Database 来验证用户。 注意 从MongoDB 4.0版开始,MongoDB删除了对不赞成使用的MongoDB Challenge-Response( 如果部署使用 SCRAM-SHA-256作为其身份验证机制,请选择SCRAM-SHA-256(MongoDB 4.0中的新增功能)。如果选中,则必须提供Username, Password和Authentication Database 来验证用户。 有关 重要 指南针社区版中不提供Kerberos身份验证。 如果部署使用Kerberos作为其身份验证机制,则 选择Kerberos。如果选中,则必须提供主体 和服务名称以验证用户。将“ 密码”字段留空。 您还可以通过设置相应的切换开关,使 MongoDB Compass
规范化主机名。启用此设置后,Kerberos 有关Kerberos中的主体名称规范化的更多信息,请参阅此RFC文档。 重要 LDAP认证在Compass Community Edition中不可用。 如果部署使用LDAP 作为其身份验证机制,则选择LDAP。如果选中,则必须提供用户名和 密码来验证用户。 重要 X.509身份验证在Compass Community Edition中不可用。 如果部署使用X.509作为其身份验证机制,则 选择X.509。如果选中,则必须提供用户名以对 用户进行身份验证。 注意 如果您使用的是 Atlas管理的证书 ,则您的用户名必须以“ CN =”开头RFC 2253。例如,用户名“ X509User”必须作为“ CN = X509User”提供。 |
最喜欢的名字 | 可选的。连接的名称。要将输入的当前连接保存为 收藏夹连接,请在输入中输入名称,然后单击创建收藏夹。 小费 尽管您可以使用相同的“ 收藏夹名称”保存多个连接,但建议为每个连接使用唯一的名称,以轻松找到已保存的连接。 |
“ 更多选项”连接屏幕允许您指定以下连接选项:
选项 | 描述 |
---|---|
副本集名称 | 如果您的MongoDB部署是副本集,请指定副本集名称。如果将副本集“ 主机名”指定为SRV记录,则不需要。 |
阅读偏好 | 指定指南针如何引导读取操作。选项有:
要了解有关阅读首选项的更多信息,请参阅 阅读首选项。 |
如果要使用TLS / SSL或SSH隧道连接到部署,请参阅以下选项卡以获取特定说明:
此选项指示Compass通过TLS / SSL连接到您的MongoDB部署。您可以选择以下SSL选项之一:
选项 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
系统CA /地图集部署 | 连接到 MongoDB Atlas。 | ||||||||
服务器验证 | 指南针验证部署的身份。如果选中,则必须提供:
|
||||||||
服务器和客户端验证 | 部署从其客户端执行证书验证,而Compass验证部署的身份。如果选中,则必须提供:
|
||||||||
未验证(不安全) | 无需任何身份验证即可使用TLS / SSL。 |
小费
对于生产用途,您的MongoDB部署应使用由单个证书颁发机构生成和签名的有效证书。您或您的组织可以生成和维护独立的证书颁发机构,也可以使用第三方TLS / SSL供应商生成的证书。
此选项指示Compass通过SSH隧道连接到您的MongoDB部署。隧道在您连接到MongoDB时自动启动,在断开连接时自动停止。
在“ SSH隧道”下拉列表中,选择密码或身份文件以提供身份验证。选择识别方法后,请指定以下选项:
SSH主机名 | 输入堡垒(跳跃盒)主机名。这是要访问的机器的唯一标识符(完全合格域名,或FQDN)。 |
SSH隧道端口 | 提供用于SSH连接的端口。默认为22(SSH的标准端口)。 |
SSH用户名 | 要登录到远程系统的配置文件的用户名。这将是您要为其建立SSH连接的用户。 |
SSH身份文件 | 选择从中读取用于SSH公钥身份验证的标识(私钥)的文件。 Unix或OS X:如果使用OpenSSH,则在
在Windows上,标识文件的位置取决于您选择的SSH客户端(例如PuTTY)。 |
SSH密码 | 如果您的私钥已加密,请提供用于解密私钥的密码(存储在指定的身份文件中)。密码短语为SSH连接提供了额外的安全性。 |
SSH密码 | 用于保护SSH连接的密码。如果您不使用身份文件,则这是必需的。 |
要通过堡垒主机使用SSH隧道,堡垒主机上的SSH配置必须允许TCP端口转发。即,文件中的AllowTcpForwarding
伪指令/etc/ssh/sshd_config
设置为yes
。如果
AllowTcpForwarding
未设置为yes
,请设置为,yes
然后重新启动SSH守护进程()。sudo service sshd restart
除了通过Compass UI创建SSH隧道外,您还可以从命令行手动创建隧道:
例
如果您hostname-a.com
在端口27017上运行了部署
,并且堡垒主机hostname-b.com
使用用户名
ec2-user
,则可以通过以下方式构建隧道
使用此SSH隧道,您现在可以连接Compass(或mongo
shell)localhost:27000
以连接到上运行的部署
hostname-a.com
。
注意
您无法通过SSH隧道连接到副本集。Compass无法通过同一SSH隧道建立与多台服务器的连接。