我安装了mongodb服务器v.2.6.1,并遵循了所有安装步骤(与前几次一样)并正常工作(我运行服务器,从另一个cmd连接到它,一切正常)。
我还安装了MongoVUE v.1.6.9,当我从那里创建用户时,它们不会出现在cmd中我编写show users时,它们只在我编写db.system.users.find()时出现。
因此,如果我希望能够连接到任何数据库,即使是从MonogoVUE,我需要将de中的用户创建为db.addUser("username", "password") (我知道它对于我的当前版本来说是不推荐的,但它可以工作),然后我在编写show users或db.system.users.find()时会得到不同的用户,因为前者是在cmd中创建的,而后者是在MongoVUE中创建的。
这种行为在我看来很奇怪,我不知道为什么。也许我遗漏了一些配置参数,但在其他安装中,我从未遇到过这样的问题。
我已经重新安装了MongoVUE,但我不确定是否要删除以前的坏配置,因为重新安装后它知道我的连接的参数(端口、用户.)。我的操作系统是Windows7和SP1。
发布于 2014-07-07 18:56:08
经过一些研究之后,我最终决定安装mongodb服务器的前一个稳定版本(v2.4.10),这就是我如何修复它的方法。
版本2.6.x似乎显示了在我的环境中使用MongoVUE (Windows7和SP1)的问题。我还是不知道为什么。
发布于 2014-07-05 23:18:44
MongoDB 2.6引入了一种用于存储身份验证数据的新模型,以及用户定义的角色等附加安全特性。在MongoDB 2.6中,所有用户和角色信息现在都存储在admin数据库中的system.users和system.roles集合中。还有新的shell帮助程序和用户与角色管理命令。
有些命令(如db.addUser() )已在mongo 2.6shell中被废弃,并映射到它们的现代等价物,因此它们将继续工作,直到您了解新命令为止。
例如:
> db.addUser("username", "password")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "username", "roles" : [ "dbOwner" ] }如果您在以前的MongoDB版本中创建了用户,您可能会看到在迁移到2.6+身份验证格式后留下的特定于数据库的旧system.users集合。这些已经不再使用了。
https://stackoverflow.com/questions/24573591
复制相似问题