Centos上安裝配置Mongodb服務,並把全部檔案放入/usr/My-Application資料夾中

0龙行者0發表於2024-12-07
# 建立安裝目錄
sudo mkdir -p /usr/My-Application/mongodb
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,否則沒有許可權建立登入使用者,也沒有任何辦法運算元據庫。
 
# 設定正確的目錄許可權
sudo chown -R mongodb:mongodb /usr/My-Application/mongodb
sudo chmod -R 755 /usr/My-Application/mongodb


# 特別是資料和日誌目錄
sudo chown mongodb:mongodb /usr/My-Application/mongodb/data
sudo chown mongodb:mongodb /usr/My-Application/mongodb/log
sudo chmod 755 /usr/My-Application/mongodb/data
sudo chmod 755 /usr/My-Application/mongodb/log

# 建立服務檔案
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.targ# 新增到系統環境變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
 
 
如果需要解除安裝,可以執行以下命令:
# 停止服務
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

# 在 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

相關文章