Создание пользователя MongoVUE, кажется, не работает должным образом
Я установил сервер mongodb v.2.6.1 и выполнил все шаги установки (как и в прошлый раз) и работал нормально (я запускаю сервер и с другого cmd подключаюсь к нему, и все в порядке).
Я также установил MongoVUE v.1.6.9, и когда я создаю пользователей оттуда, они не появляются, когда в cmd я пишу show users
они появляются только когда я пишу db.system.users.find()
,
Поэтому, если я хочу иметь возможность подключиться к любой базе данных, даже из MonogoVUE, мне нужно создать пользователей из de cmd как db.addUser("username", "password")
(Я знаю, что это не рекомендуется для моей текущей версии, но это работает), а затем я получаю разных пользователей, когда я пишу show users
или же db.system.users.find()
поскольку первые - те, что созданы в cmd, а вторые - в MongoVUE.
Такое поведение кажется мне странным, и я не могу понять, почему. Возможно, мне не хватает некоторых параметров конфигурации, но в других установках у меня никогда не было таких проблем.
Я переустановил MongoVUE, но я не уверен, избавляюсь ли я от предыдущего плохого конфига, так как после переустановки он знает параметры моего соединения (порт, пользователь...). Моя ОС - Windows7 с SP1.
2 ответа
Что ж, после некоторых исследований я наконец решил установить предыдущую стабильную версию сервера mongodb (v 2.4.10), и вот как я это исправил.
Версия 2.6.x, казалось, показала, что сбой с MongoVUE в моей среде (Windows7 с SP1). Я до сих пор не знаю почему.
MongoDB 2.6 представила новую модель хранения аутентификационных данных, а также дополнительные функции безопасности, такие как определяемые пользователем роли. В MongoDB 2.6 вся информация о пользователях и ролях теперь хранится в system.users
а также system.roles
коллекции в admin
база данных. Также есть новые помощники и команды оболочки для управления пользователями и ролями.
Некоторые команды, такие как db.addUser()
устарели в mongo
2.6 оболочки и сопоставлены с их современными эквивалентами, чтобы они продолжали работать, пока вы не изучите новые команды.
Например:
> db.addUser("username", "password")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "username", "roles" : [ "dbOwner" ] }
Если вы создали пользователей в предыдущей версии MongoDB, вы можете увидеть старую базу данных system.users
коллекции, которые остаются после перехода на формат аутентификации 2.6+. Они больше не используются.