私は MongoDB を初めて使用し、単一の MongoDB インスタンスでいくつかの基本的なバックアップおよび復元操作をテストしています。
ユーザーの復元を除いて、すべてのテストは正常に機能しました。
最初に、次のコマンドを使用してテスト データベース ( db_test ) のバックアップを作成しました。
$ mongodump -u adm_dump --authenticationDatabase admin -d db_test --dumpDbUsersAndRoles -o /opt/backup/mongodump_db_test
adm_dumpは、「restore」と「backup」の役割で作成したユーザーです。
db_testデータベースには、それぞれ「readWrite」および「read」ロールを持つ2 人のユーザーが存在します。したがって、これらの両方のユーザーが復元されることを期待していました。
次に、データベースをデータベースdb_test_2 (存在しない)に復元しました。
$ mongorestore -u adm_dump --authenticationDatabase admin -d db_test_2 --restoreDbUsersAndRoles /opt/backup/mongodump_db_test/db_test
新しいデータベースdb_test_2は正常に作成されます (すべてのコレクションが復元されます) が、ユーザーはdb_test2で復元されません。
ログテールの下:
...
2016-06-29T18:28:26.429+0200 restoring users from /opt/backup/mongodump_db_test/db_test/$admin.system.users.bson
2016-06-29T18:28:26.464+0200 roles file '/opt/backup/mongodump_db_test/db_test/$admin.system.roles.bson' is empty; skipping roles restoration
2016-06-29T18:28:26.464+0200 restoring roles from /opt/backup/mongodump_db_test/db_test/$admin.system.roles.bson
2016-06-29T18:28:26.468+0200 done
また、「userAdmin」ロールをadm_dumpに付与し、操作を数回実行しましたが、成功しませんでした。adm_dumpユーザーに別の特定の役割を与える必要がありますか?
ドキュメントを読み、dumpDbUsersAndRoles / restoreDbUsersAndRoles オプションでグーグル検索しましたが、関連するものは何も見つかりませんでした。
ダンプ バックアップからユーザーを復元する際に見逃したものは何ですか?
CentOS 6.6 上の MongoDB バージョン 3.2.1