MongoDB 部署(单节点)
开始部署
-
下载 mongodb 安装包并解压到安装目录
- RedHat / CentOS 7.0 x64
- RedHat / CentOS 8.0 x64
- Debian 10.0+ x64
- 其他
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.30.tgztar -zxvf mongodb-linux-x86_64-rhel70-4.4.30.tgzmv mongodb-linux-x86_64-rhel70-4.4.30 /usr/local/mongodbwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.30.tgztar -zxvf mongodb-linux-x86_64-rhel80-4.4.30.tgzmv mongodb-linux-x86_64-rhel80-4.4.30 /usr/local/mongodb- 如果操作系统高于 Debian 10,则先安装 libssl1.1 依赖
wget https://pdpublic.mingdao.com/private-deployment/offline/common/libssl1.1_1.1.1w-0+deb11u1_amd64.debdpkg -i libssl1.1_1.1.1w-0+deb11u1_amd64.deb- 下载 mongodb 安装包并解压到安装目录
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian10-4.4.30.tgztar -zxvf mongodb-linux-x86_64-debian10-4.4.30.tgzmv mongodb-linux-x86_64-debian10-4.4.30 /usr/local/mongodb- 其他操作系统的安装包可到 MongoDB 官方下载地址 进行挑选下载
- EulerOS、KylinOS、UOS 通常可使用 RedHat 8.0 相同的安装包
-
创建 mongodb 用户
useradd -M -s /sbin/nologin mongodb -
创建数据、日志目录并授予权限
mkdir -p /data/mongodb/ /data/logs/mongodbchown -R mongodb:mongodb /usr/local/mongodb/ /data/mongodb/ /data/logs -
配置 systemd 管理文件
cat > /etc/systemd/system/mongodb.service <<EOF[Unit]Description=MongoDB[Service]User=mongodbGroup=mongodbLimitNOFILE=1000000LimitNPROC=1000000ExecStart=/usr/local/mongodb/bin/mongod --logpath /data/logs/mongodb/mongodb.log --dbpath /data/mongodb --auth --port 27017 --bind_ip 0.0.0.0ExecStop=/usr/bin/kill \$MAINPIDRestart=on-failure[Install]WantedBy=multi-user.targetEOF -
加入开机自启动
# 安装后还没创建用户,所以先不用 systemctl start mongodb 启动服务systemctl daemon-reloadsystemctl enable mongodb
创建数据库用户
-
临时启动一个未开启连接认证的 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 -
创建用户
/usr/local/mongodb/bin/mongo <<<'use admindb.createUser({user:"root",pwd:"bxfC5J3HuYaY",roles:[{role:"root",db:"admin"}]})'- 命令中指定的 mongodb admin 库权限 root 用户密码为
bxfC5J3HuYaY,实际部署时注意替换
- 命令中指定的 mongodb admin 库权限 root 用户密码为
-
关闭临时启动的 MongoDB
kill $(pgrep -f 'mongod')
启动 MongoDB
systemctl start mongodb