1.配置
服務器:CentOS-7
電腦:windowns 10 64位
服務器連接工具:FinalShell
mongoDB:4.2.18
mongoDB連接工具:NoSqlBooster
2.下載地址
mongoDB
1.官網下載地址:https://www.mongodb.com/
2.百度網盤下載地址:下載 提取碼:ssgo
mongoDB連接工具
官網下載地址:https://nosqlbooster.com/downloads
3.創建mongoDB安裝目錄
mkdir /usr/local/mongodb
cd /usr/local/mongodb
使用FinalShell把mongoDB安裝包導入到linux服務器中。
4.創建mongoDB數據存儲地址、日志、配置文件,解壓mongoDB
cd /usr/local/mongodb mkdir data mkdir logs
cd /usr/local/mongodb/logs touch mongodb.log
cd /usr/local/mongodb mkdir etc
cd /usr/local/mongodb/etc touch mongodb.conf
cd /usr/local/mongodb
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.18.tgz

5.編輯mongoDB配置文件
vim /usr/local/mongodb/etc/mongodb.conf
注意:如果新安裝的CentOS-7 報錯:-bash:vim:未找到命令。請執行下面的命令 或者使用 vi 編輯器。

yum -y install vim*
mongodb.conf 配置文件:
#數據庫路徑 dbpath=/usr/local/mongodb/data #日志輸出文件路徑 logpath=/usr/local/mongodb/logs/mongodb.log #錯誤日志采用追加模式 logappend=true #啟用日志文件,默認啟用 journal=true #這個選項可以過濾掉一些無用的日志信息,若需要調試使用請設置為false quiet=true #端口號 默認為27017 port=27017 #允許遠程訪問 bind_ip=0.0.0.0 #開啟子進程 fork=true #開啟認證,必選先添加用戶,先不開啟(不用驗證賬號密碼) #auth=true
6.將mongoDB服務加入到環境變量中、並刷新配置文件
編輯配置文件:
vim /etc/profile
在最后一行添加:
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
刷新配置文件:
source /etc/profile
7.啟動mongoDB服務
cd /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
./mongod --config /usr/local/mongodb/etc/mongodb.conf

8.查看mongoDB是否啟動成功
netstat -lanp | grep "27017"

9.操作數據庫
在任意路徑下執行命令:
mongo

注意:如果一個數據庫是沒有安全認證的,不使用用戶名密碼即可登陸,這樣是不安全的,所以我們應當授予權限才能操作數據庫,這樣再企業中才能保證數據安全性。
10.添加數據庫用戶、安全認證
MongoDB副本集默認會創建local、admin數據庫,local數據庫主要存儲副本集的元數據,admin數據庫則主要存儲MongoDB的用戶、角色等信息。
用戶授權在admin數據庫中:
use admin
創建用戶添加權限
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
授權成功后關閉數據庫:
db.shutdownServer()
11.修改配置文件、啟用安全登錄認證
vim /usr/local/mongodb/etc/mongodb.conf
把最后一段安全登錄認證打開

12.重啟mongDB服務
cd /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
./mongod --config /usr/local/mongodb/etc/mongodb.conf
13.客戶端遠程連接
下載NoSqlBooster,並打開連接

輸入驗證用戶名和密碼,以及數據庫:

連接成功:

14.如果客戶端連接不上可能是因為防火牆的原因
檢查防火牆狀態:
systemctl status firewalld.service

這種情況是防火牆正在運行。
關閉防火牆:
systemctl stop firewalld.service
在此查看防火牆狀態:
systemctl status firewalld.service

防火牆已經關閉。
