安装mongo后添加环境变量,发现sudo: mongod: command not found

编辑用户级配置文件   vim  ~/.bashrc

添加配置信息: export PATH=/usr/local/mongodb/mongodb-3.6.5/bin:$PATH    (中间那部分就是你的安装目录下的bin)

保存退出,刷新:source ~/.bashrc

我们输入mongo,显示版本信息,说明配置环境变量成功(现在还没开启服务器所以连接失败)

         于是我输入sudo mongod --config /usr/local/mongodb/mongodb-3.6.5/etc/mongodb.conf,开启服务器

   查看一下环境变量搜索路径

知识点:

我们发现是在搜索路径path下的,问题就出在sudo上!

其实出现这种情况的原因,主要是因为:

当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因为系统安全的考虑,但却使得sudo搜索的路径不是我们想要的PATH变量的路径,当然就找不到我们想要的命令

解决:

方式一:推荐方式

  1. 复制你bin路径
  2. 执行sudo visudo,将你的路径添加到secure_path
  3. ctrl + o 保存
  4. 执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp”   按回车
  5.  ctrl + x  退出

方式二:

  1. 执行sudo vim ~/.bashrc
  2. 在.bashrc中最后添加alias sudo='sudo env PATH=$PATH'
  3.  source ~/.bashrc
  4. 执行sudo visudo

  5. 将Defaults     env_reset改成Defaults    !env_reset

  6. 表示取消重置,仍然使用echo $PATH 显示的搜索路径

  7. ctrl + o 保存
  8. 执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp”   按回车
  9.  ctrl + x  退出

 

posted on 2020-11-24 16:24  zwjphp  阅读(5051)  评论(0编辑  收藏  举报