首页 > 解决方案 > Mongodump 在安全模式下对 mongodb 失败

问题描述

我是 Mongo 的新手,刚刚设置了我的第一个 MongoDB 实例/服务器。当它投入生产时,我们必须尽可能安全地运行它,所以我在安全模式下运行它。我正在尝试使备份正常工作。

这也是我在这个论坛的第一篇文章。请多多包涵。

我使用的命令: mongodump --host=localhost --port=27017 --username=useradmin --authenticationDatabase=admin --out=/opt/mongodb/bkup/mongodump- date +%m%d%yyyy%H%M

我得到:2020-05-11T14:17:06.087-0500 失败:创建要转储的意图时出错:为数据库管理员创建意图时出错:获取数据库集合时出错admin:(未授权)管理员未授权执行命令 { listCollections: 1,过滤器:{},lsid:{ id:UUID(“b524c139-54d1-4789-a2b3-2eb88bb37255”)},$db:“admin”}

我知道我的身份验证有效,因为我可以连接: [root@svldstkdb01 bin]# mongo svldstkdb01/admin -u useradmin -p MongoDB shell 版本 v4.2.6 输入密码:连接到:mongodb://svldstkdb01:27017/admin?compressors =disabled&gssapiServiceName=mongodb 隐式会话:会话 { "id" : UUID("cc5b1b24-dc00-437d-ae56-6aef53018589") } MongoDB 服务器版本:4.2.6

show dbs admin 0.000GB <-- useradmin account is here config 0.000GB local 0.000GB stkdb 0.000GB <-- 我还需要备份这个数据库。

问题:

1) 我需要创建一个管理员帐户来备份所有数据库吗?- 请举一个例子来创建这样一个帐户。2)有没有办法备份实例中的所有数据库?

标签: mongodb

解决方案


您可以创建一个备份角色,该角色提供执行 mongodump 所需的权限。要在此处创建一个用户跟随示例,角色为“备份”或授予现有用户备份角色


推荐阅读