如何在Ubuntu上安裝MongoDB數據庫系統?

MongoDB的

在此博客中,我們討論了一些數據庫系統,其中最受歡迎的是MariaDB和MySQL,因為它們通常包含在Xampp或Lampp中。 這次我們要談的是 另一個系統是 MongoDB。

MongoDB是 面向開源文檔的NoSQL數據庫系統, 這是 專為實現高性能數據持久性而設計的現代文檔數據庫管理系統, 基於NoSQL技術的高可用性以及自動擴展。

MongoDB不會像在關係數據庫中那樣將數據保存在表中,而是將數據結構保存在文檔中,這是一種由字段和值對組成的數據結構(MongoDB文檔可與JSON對象媲美)。

由於它具有高性能和出色的可伸縮性,因此被用於構建需要功能強大,關鍵任務和高可用性數據庫的現代應用程序。

在Ubuntu上安裝MongoDB

要在我們的系統上安裝此數據庫系統, 我們只需要打開一個終端並在其中執行以下命令即可:

sudo apt install mongodb

安裝完成, MongoDB服務將通過systemd自動啟動 並且該過程將在端口27017上運行。您可以使用以下命令檢查其狀態:

sudo systemctl status mongodb

如果沒有,我們可以使用以下命令強制啟動:

sudo systemctl start mongodb

啟用與MongoDB的遠程連接

蒙哥 DB 1

默認情況下,MongoDB數據庫系統使用端口27017,我們必須打開該端口 為了接受遠程連接,我們僅使用以下命令啟用它。

sudo ufw allow 27017

默認情況下,只能從本地地址27017訪問端口127.0.0.1。 要允許遠程連接到MongoDB,必須在文件中添加服務器的IP地址。 /etc/mongodb.conf

只需使用以下命令進行編輯:

sudo nano

我們可以看到類似以下內容:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

我們使用服務器中的數據進行編輯。

允許從任何地方訪問MongoDB,它提供了對數據庫中數據的無限制訪問。 因此,最好允許訪問MongoDB端口的特定於位置的默認IP地址。

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

一旦完成,就足以重新啟動服務,以便在開始時加載新的更改,我們可以這樣做:

sudo systemctl restart mongodb

在MongoDB中使用密碼創建用戶

默認情況下,數據庫具有非常簡單的訪問權限,因此,為了加強這一點,我們可以使用密碼創建用戶。

MongoDB使用SCRAM身份驗證機制 默認情況下。 在系統上使用SCRAM可以根據用戶名,密碼和身份驗證數據庫驗證提供的用戶憑據。

只需使用以下命令啟動數據庫控制台:

Mongo

我們可以使用以下方法列出現有數據庫:

show dbs

我們可以創建一個允許我們管理用戶和功能的用戶 例如創建用戶,授予或撤消用戶角色,以及創建或修改海關角色。

只需輸入

use admin

然後使用以下命令創建用戶,我們以我們認為適當的訪問憑據替換用戶“ root”的名稱和密碼“ password”。

db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})

完成此操作後,我們必須啟用身份驗證方法 為此,我們將編輯以下文件:

sudo nano /lib/systemd/system/mongodb.service

我們將尋找下一行:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

編輯,使其如下所示:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

現在 我們只是在數據庫中重啟

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y 我們使用以下方法測試身份驗證方法:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   可檢測的 他說:

    幫我解決這個錯誤。

    2021-03-24T21:33:16.233 + 0000 E查詢[thread1]錯誤:listDatabases失敗:{
    «確定»:0,
    “ Errmsg”:“未經管理員授權執行命令{listDatabases:1.0,$ db:\” admin \“}”,
    “代碼”:13
    “ CodeName”:“未經授權”
    }:
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
    shellHelper.show@src/mongo/shell/utils.js:816:19
    shellHelper@src/mongo/shell/utils.js:706:15
    @(shellhelp2):1:1