谷歌云平台上的平均堆栈RockMongo
问题描述:
我在谷歌云平台App Engine上部署了平均堆栈实例。我可以打开一个SSH隧道,并从网络浏览器查看rockmongo: http://127.0.0.1:8888/rockmongo/index.php?action=admin.index&host=0谷歌云平台上的平均堆栈RockMongo
我可以从App Engine以root和默认密码登录。当我去添加一个新的数据库时,它说它已经成功,但不会在列表中显示新的数据库。我创建一个新用户并显示该用户。当我通过mongo命令登录时,我可以切换到新数据库,但是当我尝试查找集合中的所有项目时,出现用户无权执行该操作的错误。
db.getCollection('users').find({}) Error: error: { "ok" : 0, "errmsg" : "not authorized on newdatabase to execute command { find: \"users\", filter: {} }", "code" : 13 }
我将readWrite角色添加到用户,并再次尝试,没有运气。当我做一个db.getUser(“用户名”)时,它返回“null”。
我失去了什么......
答
想通了,我只好:
登录为根bitnami用户
use admin
db.createUser({ user: "newusername",
pwd: "newpassword",
roles: [ "userAdminAnyDatabase","readWriteAnyDatabase" ]})
然后
use newdatabase
db.createUser(
{
user: "newuser",
pwd: "newpassword",
roles: [ { role: "readWrite", db: "newdatabase" } ]
}
)
则错误消失了。 mongo角色和权限的问题比bitnami和rockmongo更多。仍然不知道为什么rockmongo从来没有从php管理界面显示新的数据库(所有这些都是通过mongo命令行完成的)。