1. MongoDB介紹
MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫洗出,用C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案栈妆。
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品闰挡,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的华匾。
MongoDB分為社區(qū)版和企業(yè)版,兩者的區(qū)別主要是在體現(xiàn)在安全認(rèn)證机隙、系統(tǒng)認(rèn)證等方面蜘拉,具體對(duì)比如下圖:
2. Linux下安裝MongoDB 4.4 Community Edition
2.1 使用yum安裝
MongoDB官方安裝教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
- 創(chuàng)建/etc/yum.repos.d/mongodb-org-4.4.repo文件,這樣就可以直接使用yum安裝有鹿,mongodb-org-4.4.repo文件內(nèi)容如下
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
- 安裝MongoDB包
安裝最新穩(wěn)定版本
sudo yum install -y mongodb-org
或者旭旭,安裝MongoDB的具體版本,分別指定每個(gè)組件軟件包葱跋,并將版本號(hào)附加到軟件包名中
sudo yum install -y mongodb-org-4.4.2 mongodb-org-server-4.4.2 mongodb-org-shell-4.4.2 mongodb-org-mongos-4.4.2 mongodb-org-tools-4.4.2
你可以指定任何可用的MongoDB版本持寄,但是,當(dāng)有新版本可用的時(shí)候娱俺,yum會(huì)升級(jí)軟件包稍味。為防止意外升級(jí),請(qǐng)固定安裝荠卷。要固定軟件包仲闽,請(qǐng)將一下exclude指令添加到/etc/yum.conf文件中:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
- 啟動(dòng)MongoDB之前的配置
大部分類似unix操作系統(tǒng)會(huì)限制進(jìn)程可能使用的系統(tǒng)資源。這些限制可能會(huì)對(duì)MongoDB的運(yùn)行產(chǎn)生負(fù)面影響僵朗,應(yīng)進(jìn)行調(diào)整。有關(guān)平臺(tái)推薦設(shè)置屑彻,請(qǐng)參考UNIX ulimit設(shè)置验庙。
注意:
從MongoDB 4.4開始,如果打開文件數(shù)的ulimit值小于64000社牲,則會(huì)生成啟動(dòng)錯(cuò)誤粪薛。
啟動(dòng)前提:
- 默認(rèn)情況下,MongoDB使用mongod用戶賬戶運(yùn)行搏恤,并使用以下默認(rèn)目錄:
-
/var/lib/mongo
(the data directory) -
/var/log/mongodb
(the log directory)
-
如果是用yum安裝的默認(rèn)就會(huì)創(chuàng)建對(duì)應(yīng)目錄
如果是用下載的安裝包安裝的話违寿,需要手動(dòng)創(chuàng)建下目錄:
// 創(chuàng)建對(duì)應(yīng)目錄
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
// 授權(quán)
sudo chown -R mongod:mongod <directory>
- 自己修改配置湃交,使用自己創(chuàng)建的目錄,需要修改
/etc/mongod.conf
配置文件
- 給文件夾授權(quán)
sudo chown -R mongod:mongod <directory>
- 啟動(dòng)步驟
初始化系統(tǒng)
如果不確定平臺(tái)使用哪個(gè)初始化系統(tǒng)藤巢,請(qǐng)?jiān)试S以下命令:
ps --no-headers -o comm 1
然后根據(jù)結(jié)果在下面選擇中選擇適當(dāng)?shù)倪x項(xiàng)卡:
-
systemd
- select the systemd (systemctl) tab below. -
init
- select the System V Init (service) tab below.
systemd:
- 啟動(dòng)MongoDB進(jìn)程
sudo systemctl start mongod
如果報(bào)錯(cuò):Failed to start mongod.service: Unit mongod.service not found. 則先執(zhí)行以下命令:
sudo systemctl daemon-reload
- 驗(yàn)證MongoDB是否啟動(dòng)成功
sudo systemctl status mongod
您可以選擇通過發(fā)出以下命令來確保MongoDB在系統(tǒng)重新引導(dǎo)后開始運(yùn)行
sudo systemctl enable mongod
- 停止MongoDB
sudo systemctl stop mongod
- 重啟MongoDB
sudo systemctl restart mongod
- 使用mongo
mongo
init:
- 啟動(dòng)MongoDB進(jìn)程
sudo service mongod start
- 驗(yàn)證MongoDB是否啟動(dòng)成功
[initandlisten] waiting for connections on port <port>
您可以選擇通過發(fā)出以下命令來確保MongoDB在系統(tǒng)重新引導(dǎo)后開始運(yùn)行
sudo chkconfig mongod on
- 停止MongoDB
sudo service mongod stop
- 重啟MongoDB
sudo service mongod restart
- 使用mongo
mongo
2.2 使用安裝包安裝
- 下載安裝包
安裝所需的必備軟件包搞莺,請(qǐng)從以下連接下載mongoDB的tgz:
MongoDB Download Center
也可以直接在服務(wù)器使用wget下載:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
- 解壓安裝包
tar -zxvf mongodb-linux-*-4.4.2.tgz
- 配置環(huán)境變量
mongoDB的二進(jìn)制文件都在bin目錄下,為了方便shell能夠找到指令所在目錄掂咒,將其配置在環(huán)境變量中才沧,也可以不配,就需要到指定目錄去進(jìn)行命令操作绍刮。
export PATH=<mongodb-install-directory>/bin:$PATH
- 創(chuàng)建對(duì)應(yīng)的data和log文件夾温圆,并授權(quán)給mongid用戶
sudo mkdir -p /usr/local/mongodb/config/data
sudo mkdir -p /usr/local/mongodb/config/log
# 創(chuàng)建logs
cd /usr/local/mongodb/config/log
touch logs
sudo chown -R mongod:mongod /usr/local/mongodb/config/data
sudo chown -R mongod:mongod /usr/local/mongodb/config/log
- 創(chuàng)建對(duì)應(yīng)的配置文件mongod.conf
systemLog:
destination: file
path: /usr/local/mongodb/config/log/logs
logAppend: true
storage:
dbPath: /usr/local/mongodb/config/data
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /usr/local/mongodb/config/log/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
net:
bindIp: 0.0.0.0
port: 27017
replication:
replSetName: configs
- 啟動(dòng)mongo
./mongod -f /usr/local/mongodb/config/conf/config.conf --fork
- 關(guān)閉mongo
./mongod --shutdown --dbpath /usr/local/mongodb/config/data/
- 指定端口ip連接mongo
mongo host:port/database -u user -p password