MongoDB 在线安装-一键安装脚本(CentOS 7.9)
1. 脚本概述
本脚本用于在 CentOS 7.9 系统上在线安装 MongoDB,自动处理端口占用和重复安装问题,并创建管理员用户 test8,密码 test123。
2. 功能
停止并关闭防火墙
检查 27017 端口占用并结束进程
如果已安装 MongoDB,卸载重装
配置 MongoDB 官方 yum 源并安装 MongoDB
创建数据目录和日志目录
启动 MongoDB 并设置开机自启
创建 test8 用户并授予 root 权限
验证用户登录
#!/bin/bash set -e# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld# 检查并结束27017端口占用 PORT=27017 PID=$(lsof -t -i:$PORT || true) if [ -n "$PID" ]; thenecho "端口 $PORT 被进程 $PID 占用,正在结束进程..."kill -9 $PID fi# 如果已安装MongoDB,卸载 if rpm -qa | grep -q mongodb-org; thenecho "检测到已安装MongoDB,正在卸载..."yum remove -y mongodb-org*rm -rf /var/lib/mongo /var/log/mongodb /etc/mongod.conf fi# 安装依赖 yum install -y epel-release libcurl openssl# 配置MongoDB官方yum源 cat >/etc/yum.repos.d/mongodb-org-4.4.repo <<EOF [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOF# 安装MongoDB yum install -y mongodb-org# 创建数据目录和日志目录 mkdir -p /var/lib/mongo /var/log/mongodb chown -R mongod:mongod /var/lib/mongo /var/log/mongodb# 启动MongoDB并开启开机自启 systemctl enable mongod systemctl start mongod# 等待MongoDB启动 sleep 5# 创建test8用户并授予root权限 mongo --quiet <<EOF use admin if (!db.getUser('test8')) {db.createUser({ user: 'test8', pwd: 'test123', roles: [ { role: 'root', db: 'admin' } ] }) } else {db.grantRolesToUser('test8', [{ role: 'root', db: 'admin' }]) } EOF# 验证用户登录 mongo -u test8 -p test123 --authenticationDatabase admin --quiet <<EOF use admin db.runCommand({ connectionStatus: 1 }) EOFecho "MongoDB 在线安装与用户 test8 配置完成"