Учебник для начинающих
Пользователи прикреплены к базам данных.В идеале, у вас есть конкретные пользователи базы данных, хранящиеся в соответствующей базе данных.Все «глобальные» пользователи должны войти в админ.Хорошая часть: наборы реплик заботятся о синхронизации этих пользователей с каждым членом набора реплик.
Решение
При этом, как представляется, совершенно очевидно, как с этим бороться.В худшем случае гораздо проще иметь готовый .js
, который просто воссоздает 3-4 глобальные роли, а не возится с коллекциями system.*
в базе данных администратора.Преимущество этого заключается в том, что вы также можете автоматически выполнять другие действия по настройке, например настройку с использованием шардинга, если TSHTF и вам необходимо перестроить кластер с нуля.
use admin;
db.createRole([...])
db.createRole([...])
// do other stuff, like sharding setup
Запустите его для основноговаш набор реплик или экземпляр mongos
(если у вас есть защищенный кластер), использующий
mongo daHost:27017/admin myjsfile.js
после настройки компьютеров, но до включения аутентификации.
Другой вариант будетиспользуйте Ansible для создания пользователя.
Что касается дампа и восстановления, вы можете не указывать имя коллекции.