# 创建安装目录
sudo mkdir -p /usr/My-Application/
cd /usr/My-Application
# 下载 MongoDB
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.12.tgz
# 解压文件
tar -zxvf mongodb-linux-x86_64-rhel80-6.0.12.tgz
# 重命名目录
mv mongodb-linux-x86_64-rhel80-6.0.12 mongodb
 
# 创建数据和日志目录
sudo mkdir -p /usr/My-Application/mongodb/data
sudo mkdir -p /usr/My-Application/mongodb/log
sudo mkdir -p /usr/My-Application/mongodb/conf
 
# 创建配置文件
sudo vim /usr/My-Application/mongodb/conf/mongod.conf
配置文件内容:
systemLog:
  destination: file
  path: /usr/My-Application/mongodb/log/mongod.log
  logAppend: true
storage:
  dbPath: /usr/My-Application/mongodb/data
  journal:
    enabled: true
processManagement:
  fork: true
  pidFilePath: /usr/My-Application/mongodb/mongod.pid
net:
  port: 27017
  bindIp: 0.0.0.0  #为了安全问题,不能设置成0.0.0.0,后期要改成能够访问本机服务的ip。
security:
  authorization: disabled   #在部署的時候,这个位置一定要设置为disabled,后期添加好用户和密码和权限之后再设置为enabled,否则没有权限创建登录用户,也没有任何办法操作数据库。
# 为mongodb服务创建系统用户
sudo useradd -r -s /sbin/nologin mongodb
# 设置正确的目录权限
sudo chown -R mongodb:mongodb /usr/My-Application/mongodb
sudo chmod -R 755 /usr/My-Application/mongodb
# 创建服务文件
sudo vim /etc/systemd/system/mongodb.service
[Unit]
Description=MongoDB Database Server
After=network.target
[Service]
Type=forking
User=mongodb
Group=mongodb
PIDFile=/usr/My-Application/mongodb/mongod.pid
Environment="OPTIONS=-f /usr/My-Application/mongodb/conf/mongod.conf"
ExecStart=/usr/My-Application/mongodb/bin/mongod $OPTIONS
ExecStop=/usr/My-Application/mongodb/bin/mongod --shutdown -f /usr/My-Application/mongodb/conf/mongod.conf
Restart=always
[Install]
WantedBy=multi-user.target
# 添加到系统环境变
echo 'export PATH=$PATH:/usr/My-Application/mongodb/bin' | sudo tee -a /etc/profile
 
# 使环境变量生效
source /etc/profile
 
# 重新加载 systemd
sudo systemctl daemon-reload
 
# 启动 MongoDB
sudo systemctl start mongodb
 # 设置开机自启
sudo systemctl enable mongodb
 
# 检查服务状态
sudo systemctl status mongodb
 
# 开放 MongoDB 端口
sudo firewall-cmd --permanent --add-port=27017/tcp
sudo firewall-cmd --reload
 
 
# 在 MongoDB shell 中,切换到 admin 数据库并创建管理员用户:
use admin
db.createUser({
  user: "admin",
  pwd: "your_admin_password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})
 
# 在特定数据库中创建普通用户:
use your_database
db.createUser({
  user: "your_username",
  pwd: "your_password",
  roles: [ { role: "readWrite", db: "your_database" } ]
})
# 修改 MongoDB 配置文件以启用认证。
sudo vim /usr/My-Application/mongodb/conf/mongod.conf
# 在 security 部分中,将 authorization 设置为 enabled:
security:
  authorization: enabled
# 重新加载 systemd
sudo systemctl daemon-reload
# 重启 MongoDB 服务
sudo systemctl restart mongodb
# 连接mongodb
mongo mongodb://用户名:密码@服务器ip:21707
如果需要卸载,可以执行以下命令:
# 停止服务
sudo systemctl stop mongodb
sudo systemctl disable mongodb
# 删除服务文件
sudo rm /etc/systemd/system/mongodb.service
# 删除安装目录
sudo rm -rf /usr/My-Application/mongodb
# 删除用户
sudo userdel mongodb
# 删除环境变量配置
# 编辑 /etc/profile 删除相关行