美文网首页
如何连接到远程MongoDB服务器

如何连接到远程MongoDB服务器

作者: songyu0 | 来源:发表于2019-01-21 11:03 被阅读22次

    如何连接到远程MongoDB服务器

    我在Amazon EC2上的Ubuntu服务器上运行MongoDB。由于没有简单的一体化教程解释如何为Mongo设置用户身份验证,以便您可以从笔记本电脑读取和写入MongoDB服务器,我决定写一个。

    如果尚未安装MongoDB,首先按照https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/中的步骤操作。

    1.设置您的用户

    首先ssh进入您的服务器并输入mongo shell mongo。对于此示例,我将设置一个名为的用户,ian并授予该用户对cool_db数据库的读写权限。

    use cool_db
    
    db.createUser({
        user: 'ian',
        pwd: 'secretPassword',
        roles: [{ role: 'readWrite', db:'cool_db'}]
    })
    
    

    2.启用auth并打开MongoDB访问所有IP

    编辑MongoDB配置文件。在Ubuntu上:

    sudo vim /etc/mongod.conf

    • 查找该net行并注释掉它下面的bindIp行,这是当前限制MongoDB连接到localhost

    警告:如果没有启用授权,请不要注释掉该bindIp行。否则,您将打开整个互联网,以便对MongoDB服务器上的所有mongo数据库拥有完全的管理员权限!

    # network interfaces
    net:
      port: 27017
    #  bindIp: 127.0.0.1  <- comment out this line
    
    
    • 向下滚动到该#security:部分并添加以下行。确保取消注释该行。security:
    security:
      authorization: 'enabled'
    
    

    3.在EC2实例上打开端口27017

    • 转到您的EC2仪表板:https//console.aws.amazon.com/ec2/
    • 转到并向下Instances滚动以查看实例的安全组。例如,它会是这样的launch-wizard-4
    • 转到- > - > 选项卡 - > 按钮。Netword & Security``Security Groups``Inbound``Edit
    • 在端口27017上创建一个新的自定义TCP,源:Anywhere,0.0.0.0 / 0

    4.最后一步:重启mongo守护进程(mongod)

    sudo service mongod restart

    确保您仍然可以mongo在ssh进入框中时登录。

    如果出现任何问题,请查看日志:( 注意:非Ubuntu机器会将日志保存在另一个目录中......)tail -f /var/log/mongodb/mongod.log


    使用mongo笔记本电脑上的shell 登录

    您可以关闭ssh并返回本地控制台。要进入我们刚设置的远程Mongo数据库,可以使用mongo shell:

    mongo -u ian -p secretPassword 123.45.67.89/cool_db

    您的服务器的公共IP地址在哪里。123.45.67.89

    现在,您可以cool_db从笔记本电脑中读取和写入数据库而无需ssh

    使用pymongo与您的远程服务器的MongoDB

    import pymongo
    
    client = pymongo.MongoClient("mongodb://ian:secretPassword@123.45.67.89/cool_db") # defaults to port 27017
    
    db = client.cool_db
    
    # print the number of documents in a collection
    print db.cool_collection.count()
    
    

    就是这样!

    相关文章

      网友评论

          本文标题:如何连接到远程MongoDB服务器

          本文链接:https://www.haomeiwen.com/subject/qgoqjqtx.html