# 建立安裝目錄 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