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

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

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

前言

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

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

如果想要在 Windows 下安裝 MongoDB ,詳見 MongoDB的安裝(詳細教程)

一、概述

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

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

由此可見 MongoDB 的特點如下:

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

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

二、下載

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

在這里插入圖片描述

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

在這里插入圖片描述

在這里下載 Linux 版對應的安裝包

在這里插入圖片描述

在這里插入圖片描述

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

提取碼: 8e97 

三、安裝與啟動

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

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

在這里插入圖片描述

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

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

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

# 在當前目錄下(mysql)下創(chuàng)建一個 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 目錄下查看解壓后的文件

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

在這里插入圖片描述

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

創(chuàng)建與 bin 目錄同級的 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 文件并添加以下配置信息:

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

在這里插入圖片描述

在這里插入圖片描述

配置文件:

systemLog:
  # MongoDB發(fā)送所有日志輸出的目標指定為文件
  # The path of the log file to which mongod or mongos should send all diagnostic logging information
  destination: file
  # mongod或mongos應向其發(fā)送所有診斷日志記錄信息的日志文件的路徑
  path: "/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/log/mongod.log"
  # 當mongos或mongod實例重新啟動時,mongos或mongod會將新條目附加到現(xiàn)有日志文件的末尾。
  logAppend: true
storage:
  # mongod實例存儲其數(shù)據(jù)的目錄。storage.dbPath設置僅適用于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ù)文件保持有效和可恢復。
    enabled: true
processManagement:
  #啟用在后臺運行mongos或mongod進程的守護進程模式。
  fork: true
net:
  # 服務實例綁定的IP,默認是localhost(10.0.4.12:局域網(wǎng)IP)
  bindIp: localhost,10.0.4.12
  # bindIp
  #綁定的端口,默認是27017
  port: 27017

進入到 bin 目錄下 啟動 MongoDB

# 以配置文件的形式啟動mongod -f ../conf/mongodb.conf

在這里插入圖片描述

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

在這里插入圖片描述

看到 successfully 就表示啟動成功了,forked process:19886 表示該服務啟動的進程號是:19886,可通過 ps -ef | grep 19886 或者 ps -ef | grep mongod 才看 MongoDB 的運行情況。

在這里插入圖片描述

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

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

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

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

#通過進程編號關(guān)閉節(jié)點
kill -2 19886

四、連接

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

mongo

在這里插入圖片描述

但是通常我們是通過圖型化工具,遠程進行連接。

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

在這里插入圖片描述

在這里插入圖片描述

五、可能會遇到的問題

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

重新啟動下 MongoDB

在這里插入圖片描述

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

如果一旦是因為數(shù)據(jù)損壞,則需要進行如下操作(了解):

刪除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

修復數(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)遠程連接時出錯

在這里插入圖片描述

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

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

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

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

或者為了安全,只開放特定的端口號,MongoDB 默認端口是 27017

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

但是,如果你 MongoDB 并不是安裝在虛擬機上的,而是放到云服務器上面,那你必須還得在云服務上面開放這幾個端口

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

找到我的服務器,點擊 更多,選擇 管理

在這里插入圖片描述

進入下一個頁面之后,選擇 防火墻

在這里插入圖片描述

添加 27017 端口對外開放

在這里插入圖片描述

測試連接

在這里插入圖片描述

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

相關(guān)文章

最新評論