安装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变量的路径,当然就找不到我们想要的命令
解决:
方式一:推荐方式
- 复制你bin路径
- 执行sudo visudo,将你的路径添加到secure_path
- ctrl + o 保存
- 执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp” 按回车
- ctrl + x 退出
方式二:
- 执行sudo vim ~/.bashrc
- 在.bashrc中最后添加alias sudo='sudo env PATH=$PATH'
- source ~/.bashrc
-
执行sudo visudo
-
将Defaults env_reset改成Defaults !env_reset
-
表示取消重置,仍然使用echo $PATH 显示的搜索路径
- ctrl + o 保存
- 执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp” 按回车
- ctrl + x 退出