我在vps上本地连接到mongodb时遇到问题。 Vps安装了ubuntu 14.这些是我采取的步骤:
/etc/mongod.conf
中注明了规则
#bind_ip = 127.0.0.1
service mongod restart
iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
在mongodb中创建了用户:
use admin
db.createUser({
user: 'myuser',
pwd: 'mypassword',
roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase']
})
我读了一篇文章,声明如果你用上面的方法创建用户,它将是所有数据库的管理员用户,但实际上我只能成功连接到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
连接?
答案 0 :(得分:0)
好的,我刚学习并测试了一些解决方案,这个解决了这个问题:
use mydb
db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['readWrite'] })
使用上述语法创建用户后,按预期工作。