Skip to main content

MongoDB 部署(单节点)

开始部署

  1. 下载 mongodb 安装包并解压到安装目录

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.29.tgz
    tar -zxvf mongodb-linux-x86_64-rhel70-4.4.29.tgz
    mv mongodb-linux-x86_64-rhel70-4.4.29 /usr/local/mongodb
  2. 创建 mongodb 用户

    useradd -M -s /sbin/nologin mongodb
  3. 创建数据、日志目录并授予权限

    mkdir -p /data/mongodb/ /data/logs/mongodb
    chown -R mongodb:mongodb /usr/local/mongodb/ /data/mongodb/ /data/logs
  4. 配置 systemd 管理文件

    cat > /etc/systemd/system/mongodb.service <<EOF
    [Unit]
    Description=MongoDB
    [Service]
    User=mongodb
    Group=mongodb
    LimitNOFILE=1000000
    LimitNPROC=1000000
    ExecStart=/usr/local/mongodb/bin/mongod --logpath /data/logs/mongodb/mongodb.log --dbpath /data/mongodb --auth --port 27017 --bind_ip 0.0.0.0
    ExecStop=/usr/bin/kill \$MAINPID
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    EOF
  5. 加入开机自启动

    # 安装后还没创建用户,所以先不用 systemctl start mongodb 启动服务
    systemctl daemon-reload
    systemctl enable mongodb

创建数据库用户

  1. 临时启动一个未开启连接认证的 mongodb 服务

    su -c '/usr/local/mongodb/bin/mongod --fork --logpath /usr/local/mongodb/mongodb.log --dbpath /data/mongodb --noauth  --port 27017' -s /bin/bash mongodb
  2. 创建用户

    /usr/local/mongodb/bin/mongo <<<'use admin
    db.createUser({user:"root",pwd:"bxfC5J3HuYaY",roles:[{role:"root",db:"admin"}]})'
    • 命令中指定的 mongodb admin 库权限 root 用户密码为 bxfC5J3HuYaY ,实际部署时注意替换
  3. 关闭临时启动的 MongoDB

    kill $(pgrep -f 'mongod')

启动 MongoDB

systemctl start mongodb