Fra*_* D. 7 mongodb mongorestore
我是MongoDB的新手,我正在一个MongoDB实例中测试一些基本的备份和恢复操作.
除恢复用户外,所有测试均正常.
我首先使用以下命令创建了测试数据库(db_test)的备份:
$ mongodump -u adm_dump --authenticationDatabase admin -d db_test --dumpDbUsersAndRoles -o /opt/backup/mongodump_db_test
Run Code Online (Sandbox Code Playgroud)
adm_dump是我使用"恢复"和"备份"角色创建的用户.
db_test数据库中有2个用户分别具有"readWrite"和"read"角色.所以我期待这两个用户都可以恢复.
然后我将数据库恢复到数据库db_test_2(不存在):
$ mongorestore -u adm_dump --authenticationDatabase admin -d db_test_2 --restoreDbUsersAndRoles /opt/backup/mongodump_db_test/db_test
Run Code Online (Sandbox Code Playgroud)
已成功创建新数据库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
Run Code Online (Sandbox Code Playgroud)
我还授予"userAdmin"的角色,以adm_dump并没有成功做到操作几次.我应该给adm_dump用户另外一个特定的角色吗?
我读了doc并在googleDbUsersAndRoles/restoreDbUsersAndRoles选项上搜索,但没有发现任何相关内容.
从转储备份中恢复用户我错过了什么?
CentOS 6.6上的MongoDB版本3.2.1
万一其他人试图这样做......
adm_dump具有这些权限?)--dumpDbUsersAndRoles,这仅在您指定数据库时适用。请参阅文档。例子:
$ mongodump -u adm_dump --authenticationDatabase admin --dumpDbUsersAndRoles -o /opt/backup/mongodump_db_test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |