【问题标题】:How to connect Robomongo to MongoDB如何将 Robomongo 连接到 MongoDB
【发布时间】:2015-04-04 20:20:39
【问题描述】:

我的运行系统中有 MongoDB 和 Robomongo,我使用 Robomongo 作为客户端。

我在另一个系统上安装了 MongoDB,我将其视为服务器,我想将我的系统(作为客户端)的 Robomongo 连接到另一个系统(服务器)上的 MongoDB。我应该遵循哪些步骤来达到同样的效果?

我使用的是机器名,因为系统的 IP 地址不是静态的。但即使我使用系统的 IP 地址,我也会得到同样的错误:

连接失败,无法连接无法连接到服务器 W7IN05200067D:27017"

我直接连接到它,我没有使用任何身份验证。

【问题讨论】:

    标签: mongodb robo3t


    【解决方案1】:

    这是我们的工作:

    • 创建一个新连接,设置名称、IP地址和适当的端口:

    • 根据需要设置身份验证

    • 可选择为 SSL、SSH 等设置其他可用设置。

    • 保存并连接

    【讨论】:

    • 暂时使用 IP 来缩小范围。远程 mongod 服务器正在使用什么端口?这是默认的27017吗?问题是 robomongo 特有的吗?你可以使用mongo shell 连接吗?您可能需要更改 SSL/SSH 设置。
    【解决方案2】:

    Robomongo 似乎还不能与 MongoDB 3 一起使用:

    Can't Connect to Mongo 3.0 DB server #771

    【讨论】:

    • 那有什么选择呢?
    【解决方案3】:

    注意:注释掉 bind_ip 会使您的系统容易受到安全漏洞的攻击。请参阅Security Checklist。添加更多 IP 地址比向所有内容开放系统更好。

    您需要编辑 /etc/mongod.conf 文件的 bind_ip 变量以包含您正在使用的计算机的 IP,或者完全删除它。 p>

    我能够使用以下 mongod.conf 文件进行连接。我注释掉了 bind_ip 并取消注释了 port

    # mongod.conf
    
    # Where to store the data.
    
    # Note: if you run MongoDB as a non-root user (recommended) you may
    # need to create and set permissions for this directory manually.
    # E.g., if the parent directory isn't mutable by the MongoDB user.
    
    dbpath=/var/lib/mongodb
    
    # Where to log
    logpath=/var/log/mongodb/mongod.log
    
    logappend=true
    
    port = 27017
    
    # Listen to local interface only. Comment out to listen on all
    interfaces.
    
    #bind_ip = 127.0.0.1
    
    
    # Disables write-ahead journaling
    # nojournal = true
    
    # Enables periodic logging of CPU utilization and I/O wait
    #cpu = true
    
    # Turn on/off security.  Off is currently the default
    #noauth = true
    
    #auth = true
    
    # Verbose logging output.
    #verbose = true
    
    # Inspect all client data for validity on receipt (useful for
    # developing drivers)
    #objcheck = true
    
    # Enable db quota management
    #quota = true
    
    # Set oplogging level where n is
    #   0=off (default)
    #   1=W
    #   2=R
    #   3=both
    #   7=W+some reads
    #diaglog = 0
    
    # Ignore query hints
    #nohints = true
    
    # Enable the HTTP interface (Defaults to port 28017).
    #httpinterface = true
    
    # Turns off server-side scripting.  This will result in greatly limited
    # functionality
    #noscripting = true
    
    # Turns off table scans.  Any query that would do a table scan fails.
    #notablescan = true
    
    # Disable data file preallocation.
    #noprealloc = true
    
    # Specify .ns file size for new databases.
    # nssize = <size>
    
    # Replication Options
    # In replicated MongoDB databases, specify the replica set name here
    #replSet=setname
    
    # Maximum size in megabytes for replication operation log
    #oplogSize=1024
    
    # Path to a key file storing authentication info for connections
    # between replica set members
    #keyFile=/path/to/keyfile
    

    在尝试连接之前不要忘记重启 mongod 服务:

    service mongod restart
    

    在 Robomongo 中,我使用了以下连接设置:

    连接标签:

    • 地址:[VPS IP]:27017

    SSH 标签:

    • SSH 地址:[VPS IP]:22

    • SSH 用户名:[启用 sudo 的用户的用户名]

    • SSH 认证方式:密码

    • 用户密码:超级机密

    【讨论】:

    • 我的 Mongo 文件夹中没有 etc 文件夹和 mongod.conf。你知道,Mongo 是在我的机器上安装错误还是应该以某种方式添加?
    • @YuriDorokhov 抱歉延迟回复,/etc 文件夹位于 Linux 安装的根目录中,而不是 Mongo 文件夹中。
    • 永远不要评论bind_ip = 127.0.0.1!!!!!您可以向其中添加其他 IP,但如果您注释掉 bind_ip,您将创建一个潜在的安全漏洞,允许公共访问您的 mongodb 服务器。 @ShahNewazKhan 请修改您的帖子。在此处查看 mongodb 安全检查表docs.mongodb.com/manual/administration/security-checklist/…
    • @linxtion 感谢您的提醒,我已经相应地更新了我的答案
    【解决方案4】:

    目前,Robomongo 0.8.x 不适用于 MongoDB 3.0:

    暂时不要使用 Robomongo。对我来说,最好的解决方案是使用MongoChef

    【讨论】:

      【解决方案5】:

      Robomongo 0.8.5 绝对适用于 MongoDB 3.X(我的 MongoDB 版本是 3.0.7,最新版本)。

      连接MongoDB服务器的步骤如下:

      1. 安装 MongoDB 服务器(在 Windows、Linux 等上。您的选择)
      2. 运行 MongoDB 服务器。如果您希望客户端通过服务器自己的IP地址连接到服务器,请不要设置net.bind_ip = 127.0.0.1
      3. 使用服务器 IP 地址从 Robomongo 连接到服务器 + 如果需要,设置身份验证。

      【讨论】:

        【解决方案6】:

        我能够使用如下连接字符串将 Robomongo 连接到在 Mongo Labs 上运行的远程 MongoDB 实例:

        1. 下载最新版本的 Robomongo。我从here下载了0.9 RC6。

        2. 从连接字符串中,填充服务器地址和端口号,如下所示。

        3. 在身份验证选项卡下填写数据库名称和用户名和密码,如下所示。

        4. 测试连接。

        【讨论】:

        • 工作就像一个魅力!感谢您的精彩解释
        【解决方案7】:
        1. 注释掉 /etc/mongod.conf 文件的 bind_ip

        2. 下载https://download.robomongo.org/0.9.0-rc9/windows/robomongo-0.9.0-rc9-windows-x86_64-0bb5668.exe

        3. 连接选项卡:

          3.1 名称(随便)

          3.2 地址(服务器IP地址):端口号(27017)

        4. SSH 选项卡(我使用正常的PuTTY 连接详细信息)

          4.1 SSH地址:(服务器IP地址)

          4.2 SSH用户名(用户名)

          4.3 用户密码(password)

        【讨论】:

          【解决方案8】:
          1. 首先,您必须在终端中运行mongod 命令。确保命令正确执行。

          2. 然后在新的终端选项卡中运行mongo 命令。

          3. 然后打开 Robomongo GUI 并使用默认设置创建一个新连接。

          【讨论】:

          • 我一直遇到这个问题并寻找答案好几个小时......这确实解决了我的问题。非常感谢。
          【解决方案9】:

          如果没有启用身份验证(用户名/密码)并且仍然无法连接。只需使用本地主机和默认端口。如果测试连接成功,点击测试并保存。

          问候 贾格迪什

          【讨论】:

          • 我想保留我原来的答案,不做任何修改,并且使用错别字......
          【解决方案10】:

          我从 Studio 3T 导出了以下连接:

          mongodb://youn-nosql-grej-test:xxxyyyzzz@youn-nosql-grej-test.documents.azure.com:10255/admin?3t.uriVersion=2&3t.certificatePreference=RootCACert:accept_any&3t.databases=admin&3t .connectionMode=direct&3t.useClientCertPassword=false&3t.connection.name=Grej-Test&readPreference=primary&ssl=true

          我在以下屏幕中填写了它:

          【讨论】:

            猜你喜欢
            • 2016-06-13
            • 2020-06-10
            • 2016-08-09
            • 2016-04-27
            • 1970-01-01
            • 2015-08-21
            • 2018-02-22
            • 1970-01-01
            • 2014-12-26
            相关资源
            最近更新 更多