我正在尝试使用 mongodump 工具对我的 mongodb 服务器(已启用身份验证)进行每日备份。
mongodump 提供两个参数来设置凭证:
-u [ --username ] arg username
-p [ --password ] arg password
不幸的是,他们没有提供任何参数来从 stdin 读取密码。因此每次我运行此命令时,服务器上的每个人都可以读取密码(例如通过使用 ps aux)。
我发现的唯一解决方法是停止数据库并使用 --dbpath 参数直接访问数据库文件。
还有其他解决方案可以让我在不停止服务器和不“发布”我的密码的情况下备份 mongodb 数据库吗?
我正在使用 Debian squeeze 6.0.5 amd64 和 mongodb 1.4.4-3。
答案1
事实上,自从这个请求实施后,命令行上的密码将被隐藏(尽管在隐藏代码生效之前有一个短暂的窗口需要注意)。您是否尝试过将空字符串指定为密码(-p ""
),然后系统应该会提示您输入密码,我认为这是您想要的行为。