1
我遇到了问题,本地连接到我的vps上的mongodb。 VPS已经安装了Ubuntu 14.这些是香港专业教育学院所采取的步骤:mongodb本地连接到vps数据库
- 注释规则在
/etc/mongod.conf
#bind_ip = 127.0.0.1
- 重启蒙戈过程
service mongod restart
- 加入规则来防火墙,以便它接受连接:
- MongoDB中
的用户:
use admin db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase'] })
我读到这说明,如果您创建上述方法的用户将是管理员用户的所有数据库的文章,但在现实中,我只能成功连接到admin
db。如果我尝试连接到其他mydb
数据库,则会引发错误Authorization fails
。
此连接的工作原理:
mongo.connect('mongodb://myuser:[email protected]:27017/admin',function(err, db) {
这一个犯规:
mongo.connect('mongodb://myuser:[email protected]:27017/mydb',function(err, db) {
我如何添加用户MONGO所以它将允许带mydb
连接?创建与它按预期工作上面的语法用户后
use mydb
db.createUser({ user: 'myuser', pwd: 'mypassword', roles: ['readWrite'] })
:
因为'* AdminAnyDataBase'角色确实允许“管理”功能(例如授予权限),但实际上并没有其他任何东西,所以您可能实际上需要再次阅读“角色”页面。所以你的“应用程序”真的想要一个“readWrite”或类似的东西,并且它也想知道你准许哪个数据库命名空间。当前应用的角色不使用数据库名称空间,因此实际上只应用对管理帐户信息的“admin”数据库的访问权限。所以如果你想要不同的访问,那么你实际上需要设置它。目前你还没有。 –
谢谢你的提示;) – Mevia