欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux系統(tǒng)下安裝MongoDB的詳細(xì)方法圖文教程

 更新時(shí)間:2023年06月03日 13:48:18   作者:多加點(diǎn)辣也沒(méi)關(guān)系  
這篇文章主要介紹了Linux系統(tǒng)下安裝MongoDB的詳細(xì)方法圖文教程,需要的朋友可以參考下

前言

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),主要用于為 web 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

以下內(nèi)容是如何在 Linux 下搭建單機(jī)版 MongoDB 的教程,主要參照 MongoDB - 學(xué)習(xí)教程

如果想要在 Windows 下安裝 MongoDB ,詳見(jiàn) MongoDB的安裝(詳細(xì)教程)

一、概述

MongoDB 由 C++語(yǔ)言編寫(xiě),是一個(gè)介于關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)之間的產(chǎn)品,是非關(guān)系型數(shù)據(jù)庫(kù)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似與 jsonbson 格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。MongoDB 最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

MongoDB 的設(shè)計(jì)目標(biāo)是高性能、可擴(kuò)展、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。所以它比傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù),例如 MySQL,更加適合去應(yīng)對(duì)一些 “三高” 需求:比如對(duì)數(shù)據(jù)庫(kù)高并發(fā)的讀寫(xiě)需求、對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)和訪問(wèn)需求以及對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展和高可用性的需求。

由此可見(jiàn) MongoDB 的特點(diǎn)如下:

高性能高可用高擴(kuò)展豐富的查詢支持動(dòng)態(tài)模式和靈活的文檔模型

應(yīng)用常見(jiàn)上通常見(jiàn)到的是存儲(chǔ)用戶信息、聊天信息、游戲數(shù)據(jù)、訂單信息等等。之前我們就有使用 MongoDB 存儲(chǔ)一些優(yōu)惠劵的信息,性能上也是非常不錯(cuò)的。

二、下載

官網(wǎng):www.mongodb.com

在這里插入圖片描述

選擇 Products > Community Edition 就能進(jìn)入社區(qū)版

在這里插入圖片描述

在這里下載 Linux 版對(duì)應(yīng)的安裝包

在這里插入圖片描述

在這里插入圖片描述

在這里直接下載可能會(huì)比較慢,以下我提供了已經(jīng)下載好的安裝包:
鏈接: https://pan.baidu.com/s/1gNhoJc7T1TOKxQfvpHUkwg

提取碼: 8e97 

三、安裝與啟動(dòng)

連上 Linux 服務(wù)器(這里的服務(wù)器我用的是云服務(wù)器),我先創(chuàng)建一個(gè) mongodb 的文件夾來(lái)存放安裝包。

# 在 /soft 目錄下創(chuàng)建一個(gè)空的文件夾 mongodb
mkdir /soft/mongodb
# 進(jìn)入這個(gè)新建的文件夾下
cd /soft/mongodb

在這里插入圖片描述

然后上傳之前下載好的 Linux 下 MongoDB 的安裝包,使用 rz 命令上次文件(有些終端工具是可以直接上傳文件的,比如 FinalShell)

在這里插入圖片描述
在這里插入圖片描述

在該目錄下再創(chuàng)建一個(gè)文件夾,并且將安裝包解壓到該文件夾中

# 在當(dāng)前目錄下(mysql)下創(chuàng)建一個(gè) mongodb-5.0.11 文件夾
mkdir mongodb-5.0.11
# 解壓安裝包到該目錄下
tar -xvf mongodb-linux-x86_64-rhel70-5.0.11.tgz -C mongodb-5.0.11

在這里插入圖片描述

解壓完成之后可以切換到 mongodb-5.0.11 目錄下查看解壓后的文件

# 進(jìn)入 mongodb-5.0.11 文件夾
cd mongodb-5.0.11
# 進(jìn)入 mongodb-linux-x86_64-rhel70-5.0.11 文件夾
cd mongodb-linux-x86_64-rhel70-5.0.11
# 查看目錄下的文件
ll

在這里插入圖片描述

可以看到和 windows 下解壓之后的文件是差不多的,bin 目錄下存放的是 MongoDB 的一些命令。

創(chuàng)建與 bin 目錄同級(jí)的 data\db 、logconf 目錄用于存放數(shù)據(jù)和日志

# 創(chuàng)建 data\db 文件夾存放數(shù)據(jù)
mkdir -p data/db
# 創(chuàng)建 log 文件夾存放日志
mkdir log
# 創(chuàng)建 conf 文件夾存放配置文件
mkdir conf

在這里插入圖片描述

log 目錄下創(chuàng)建 mongodb.log 存放日志,在 conf 目錄下創(chuàng)建 mongodb.conf 文件并添加以下配置信息:

# 進(jìn)入 log 目錄
cd log
# 創(chuàng)建 mongodb.log 文件
touch mongodb.log
# 在 conf 目錄下創(chuàng)建 mongodb.conf 文件并編輯
vi ../conf/mongodb.conf

在這里插入圖片描述

在這里插入圖片描述

配置文件:

systemLog:
  # MongoDB發(fā)送所有日志輸出的目標(biāo)指定為文件
  # The path of the log file to which mongod or mongos should send all diagnostic logging information
  destination: file
  # mongod或mongos應(yīng)向其發(fā)送所有診斷日志記錄信息的日志文件的路徑
  path: "/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/log/mongod.log"
  # 當(dāng)mongos或mongod實(shí)例重新啟動(dòng)時(shí),mongos或mongod會(huì)將新條目附加到現(xiàn)有日志文件的末尾。
  logAppend: true
storage:
  # mongod實(shí)例存儲(chǔ)其數(shù)據(jù)的目錄。storage.dbPath設(shè)置僅適用于mongod。
  # The directory where the mongod instance stores its data.Default Value is "/data/db".
  dbPath: "/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db"
  journal:
    #啟用或禁用持久性日志以確保數(shù)據(jù)文件保持有效和可恢復(fù)。
    enabled: true
processManagement:
  #啟用在后臺(tái)運(yùn)行mongos或mongod進(jìn)程的守護(hù)進(jìn)程模式。
  fork: true
net:
  # 服務(wù)實(shí)例綁定的IP,默認(rèn)是localhost(10.0.4.12:局域網(wǎng)IP)
  bindIp: localhost,10.0.4.12
  # bindIp
  #綁定的端口,默認(rèn)是27017
  port: 27017

進(jìn)入到 bin 目錄下 啟動(dòng) MongoDB

# 以配置文件的形式啟動(dòng)mongod -f ../conf/mongodb.conf

在這里插入圖片描述

如果在輸入上述命令之后提示:-bash: mongod: command not found,但是 bin 目錄下又有 mongod 的可執(zhí)行文件,可查看文章末尾 可能會(huì)遇到的問(wèn)題

在這里插入圖片描述

看到 successfully 就表示啟動(dòng)成功了,forked process:19886 表示該服務(wù)啟動(dòng)的進(jìn)程號(hào)是:19886,可通過(guò) ps -ef | grep 19886 或者 ps -ef | grep mongod 才看 MongoDB 的運(yùn)行情況。

在這里插入圖片描述

停止關(guān)閉服務(wù):

方式一:正常流程關(guān)閉:

# 客戶端登錄服務(wù),注意,這里通過(guò)localhost登錄,如果需要遠(yuǎn)程登錄,必須先登錄認(rèn)證才行。
mongo --port 27017
# 關(guān)閉服務(wù)
db.shutdownServer()

方式二:快速關(guān)閉:

#通過(guò)進(jìn)程編號(hào)關(guān)閉節(jié)點(diǎn)
kill -2 19886

四、連接

登錄客戶端服務(wù),輸入 mongo 命令便可以連接上

mongo

在這里插入圖片描述

但是通常我們是通過(guò)圖型化工具,遠(yuǎn)程進(jìn)行連接。

一些連接數(shù)據(jù)庫(kù)的圖形化工具也能夠連接 MongoDB,比如 Navicat,Compass 圖形化界面客戶端是能在 MongoDB 官網(wǎng)上找到的。

在這里插入圖片描述

在這里插入圖片描述

五、可能會(huì)遇到的問(wèn)題

(1)-bash: mongod: 命令未找到

如果在輸入 mongodb 相關(guān)的命令之后提示:-bash: mongod: command not found,但是 bin 目錄下又有的可執(zhí)行文件

在這里插入圖片描述

原因是沒(méi)有將可執(zhí)行文件 添加至 path ,輸入以下命令:

export PATH=/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/bin:$PATH

在這里插入圖片描述

重新啟動(dòng)下 MongoDB

在這里插入圖片描述

(2)數(shù)據(jù)損壞重修復(fù)

如果一旦是因?yàn)閿?shù)據(jù)損壞,則需要進(jìn)行如下操作(了解):

刪除lock文件:

# mongodb-data-db-directory 表示 數(shù)據(jù)存放路徑
# 比如:/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db
rm -f <mongodb-data-db-directory>/*.lock

修復(fù)數(shù)據(jù):

# mongodb-data-db-directory 表示 數(shù)據(jù)存放路徑
# 比如:/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db
mongod --repair --dbpath=<mongodb-data-db-directory>

(3)遠(yuǎn)程連接時(shí)出錯(cuò)

在這里插入圖片描述

這個(gè)錯(cuò)誤提示出現(xiàn)的可能有很多,我就列舉幾個(gè)我能想到的吧

  • 首先去檢查你的 MongoDB 是否關(guān)掉了,如果關(guān)了的話重啟再連接
  • 服務(wù)器上面的防火墻是否是開(kāi)著的狀態(tài),或者 27017 的端口是否對(duì)外開(kāi)放
  • 如果你的服務(wù)器是云服務(wù)器的話,需要去云服務(wù)器上面開(kāi)放 27017 的端口

第一種情況我就不贅述了,如果你的 MongoDB 是安裝在虛擬機(jī)上面的話,簡(jiǎn)單粗暴的方式是直接關(guān)閉防火墻

# 關(guān)閉防火墻
systemctl stop firewalld.service 
# 查看防火墻的狀態(tài)
firewall-cmd --state 
# 禁止firewall開(kāi)機(jī)啟動(dòng)
systemctl disable firewalld.service

或者為了安全,只開(kāi)放特定的端口號(hào),MongoDB 默認(rèn)端口是 27017

# 關(guān)閉防火墻
systemctl stop firewalld.service 
# 27017 端口對(duì)外開(kāi)放
firewall-cmd --remove-port=27017/tcp --permanent 
# 重啟防火墻
firewall-cmd --reload

但是,如果你 MongoDB 并不是安裝在虛擬機(jī)上的,而是放到云服務(wù)器上面,那你必須還得在云服務(wù)上面開(kāi)放這幾個(gè)端口

行在 某某云 上面的,我就得做如下設(shè)置:

找到我的服務(wù)器,點(diǎn)擊 更多,選擇 管理

在這里插入圖片描述

進(jìn)入下一個(gè)頁(yè)面之后,選擇 防火墻

在這里插入圖片描述

添加 27017 端口對(duì)外開(kāi)放

在這里插入圖片描述

測(cè)試連接

在這里插入圖片描述

到此這篇關(guān)于Linux系統(tǒng)下安裝MongoDB的詳細(xì)方法圖文教程的文章就介紹到這了,更多相關(guān)Linux MongoDB安裝方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論