You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止mongosh将db.auth密码保存到命令历史文件?

避免mongosh命令历史明文保存密码的方法

以下是几种可行的解决方式:

  • 通过环境变量传递密码
    先在终端设置环境变量:

    export MONGODB_PASSWORD="mypassword"
    

    然后在mongosh中执行认证:

    db.auth("myusername", process.env.MONGODB_PASSWORD)
    

    命令历史里只会记录调用环境变量的代码,不会出现明文密码。

  • 禁用mongosh命令历史

    • 临时禁用:启动mongosh时添加--no-history参数,本次会话不会保存任何命令记录:
      mongosh --no-history
      
    • 永久禁用:在主目录下创建或编辑~/.mongodb/mongosh/config.js文件,写入以下内容:
      export default {
        historyLength: 0
      };
      
      之后所有mongosh会话都不会保存命令历史。
  • 使用URI直接连接(推荐)
    直接通过包含认证信息的URI启动mongosh,密码不会被写入命令历史:

    mongosh "mongodb://myusername:mypassword@localhost:27017/?authSource=admin"
    

    注意替换URI中的主机、端口、认证源等参数为你的实际配置。

  • 清理已保存的明文密码
    如果历史文件已经存在明文密码,可以直接删除历史文件:

    rm ~/.mongodb/mongosh/mongosh_repl_history
    

    或者手动编辑该文件,删除包含密码的行。

内容的提问来源于stack exchange,提问作者mkelley33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:27:04