mongodb本地连接到vps数据库

时间:2017-08-25 07:31:41

标签: mongodb

我在vps上本地连接到mongodb时遇到问题。 Vps安装了ubuntu 14.这些是我采取的步骤:

  1. /etc/mongod.conf中注明了规则
    • #bind_ip = 127.0.0.1
    • 重新启动mongo进程service mongod restart
  2. 将规则添加到防火墙,以便它接受连接:
    • iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
  3. 在mongodb中创建了用户:

    use admin
    db.createUser({
        user: 'myuser',
        pwd: 'mypassword',
        roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase']
    })
    
  4. 我读了一篇文章,声明如果你用上面的方法创建用户,它将是所有数据库的管理员用户,但实际上我只能成功连接到admin db。如果我尝试连接到其他mydb数据库,则会抛出错误Authorization fails

    此连接有效:

    mongo.connect('mongodb://myuser:mypassword@myip:27017/admin',function(err, db) {
    

    这个没有:

    mongo.connect('mongodb://myuser:mypassword@myip:27017/mydb',function(err, db) {
    

    如何将用户添加到mongo以便它可以与mydb连接?

1 个答案:

答案 0 :(得分:0)

好的,我刚学习并测试了一些解决方案,这个解决了这个问题:

use mydb
db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['readWrite'] })

使用上述语法创建用户后,按预期工作。