如何在Red Hat中以普通用户权限通过yumdownloader安装MongoDB到指定目录
普通用户权限下用yumdownloader安装MongoDB到指定目录(Red Hat)
步骤1:下载MongoDB及依赖包到指定目录
先创建有权写入的下载目录:
mkdir -p ~/mongodb-packages
用yumdownloader下载MongoDB官方包及所有依赖到该目录:
yumdownloader --destdir=~/mongodb-packages --resolve mongodb-org
说明:
--resolve参数会自动拉取所有依赖包,避免后续运行时缺依赖
步骤2:从RPM包提取文件到自定义安装目录
创建最终的安装目录结构:
mkdir -p ~/mongodb/{bin,data,log}
进入下载包目录,逐个提取RPM内容:
cd ~/mongodb-packages # 提取服务器组件 rpm2cpio mongodb-org-server-*.rpm | cpio -idmv # 提取Shell工具 rpm2cpio mongodb-org-shell-*.rpm | cpio -idmv # 提取配套工具 rpm2cpio mongodb-org-tools-*.rpm | cpio -idmv # 按需提取路由组件 rpm2cpio mongodb-org-mongos-*.rpm | cpio -idmv
将提取出的可执行文件和数据目录移到自定义安装路径:
mv usr/bin/* ~/mongodb/bin/ mv var/lib/mongo ~/mongodb/data/ mv var/log/mongodb ~/mongodb/log/ # 清理临时提取的目录 rm -rf usr var
步骤3:配置环境变量(可选)
把MongoDB的bin目录加入用户环境变量,方便直接调用命令:
echo 'export PATH="$HOME/mongodb/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
步骤4:配置并启动MongoDB
生成自定义配置文件,路径自动适配当前用户:
cat > ~/mongodb/mongod.conf << EOF storage: dbPath: /home/$(whoami)/mongodb/data systemLog: destination: file path: /home/$(whoami)/mongodb/log/mongod.log logAppend: true net: port: 27017 bindIp: 127.0.0.1 processManagement: fork: true EOF
启动MongoDB:
mongod --config ~/mongodb/mongod.conf
验证启动状态:
mongo --eval "db.runCommand({ping: 1})"
注意事项
- 确保自定义目录有足够磁盘空间,避免启动失败
- 普通用户无法绑定1024以下的特权端口,若需改端口请选大于1024的数值
- 若yum源无法访问,需联系管理员确认普通用户的yum权限
内容的提问来源于stack exchange,提问作者Mayank Mittal
相关产品推荐
相关产品推荐

