CentOS安裝MongoDB

CentOS安裝MongoDB

fa4524d2-ec9a-4d75-b676-ecbf64ce5ada.png

[toc]

1. 安裝并運行

在 CentOS 上安裝 MongoDB,你可以按照以下步驟進行:

  1. 導(dǎo)入 MongoDB 的 GPG 密鑰:

    sudo rpm --import https://www.mongodb.org/static/pgp/server-5.0.asc
    
  2. 創(chuàng)建 MongoDB 的 YUM 存儲庫文件 /etc/yum.repos.d/mongodb-org-5.0.repo,并使用文本編輯器打開它:

    sudo vi /etc/yum.repos.d/mongodb-org-5.0.repo
    

    在文件中添加以下內(nèi)容:

    [mongodb-org-5.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
    

    保存并關(guān)閉文件。

  3. 安裝 MongoDB:

    sudo yum install -y mongodb-org
    
  4. 啟動 MongoDB 服務(wù):

    sudo systemctl start mongod
    
  5. 設(shè)置 MongoDB 開機自啟動:

    sudo systemctl enable mongod
    
  6. 檢查 MongoDB 服務(wù)狀態(tài):

    sudo systemctl status mongod
    

    如果一切正常,你應(yīng)該會看到 MongoDB 服務(wù)已經(jīng)運行。

  7. 默認情況下,MongoDB 監(jiān)聽在 127.0.0.1 的本地接口上。如果你需要允許遠程訪問,你需要編輯 MongoDB 配置文件 /etc/mongod.conf 并更改 bindIp 部分以允許所需的 IP 地址。保存更改并重新啟動 MongoDB 服務(wù)。

  8. 確保防火墻允許 MongoDB 的訪問。如果使用默認的 MongoDB 端口 27017,請確保你的防火墻規(guī)則允許流量通過該端口。

現(xiàn)在,MongoDB 應(yīng)該已經(jīng)安裝并在 CentOS 上運行。你可以使用 mongo 命令行客戶端或其他 MongoDB 客戶端工具連接到數(shù)據(jù)庫。

2. 創(chuàng)建用戶/密碼

在默認配置下,MongoDB 安裝后沒有設(shè)置密碼,因此可以直接通過沒有身份驗證的方式訪問 MongoDB 數(shù)據(jù)庫。這在生產(chǎn)環(huán)境中是不安全的,因此建議你設(shè)置 MongoDB 的身份驗證密碼以增強安全性。

以下是在 MongoDB 上設(shè)置密碼的一般步驟:

  1. 啟動 MongoDB 并連接到數(shù)據(jù)庫服務(wù)器。

    mongo
    
  2. 切換到 admin 數(shù)據(jù)庫。你將在 admin 數(shù)據(jù)庫中創(chuàng)建用戶。

    use admin
    
  3. 創(chuàng)建一個管理員用戶,并為其分配密碼。在這個例子中,我們創(chuàng)建一個用戶名為 adminUser 的管理員用戶,你可以替換為你想要的用戶名和密碼。

    db.createUser({ user: "adminUser", pwd: "yourPassword", roles: ["root"] })
    

    請確保將 yourPassword 替換為你選擇的實際密碼。

  4. 退出 MongoDB。

    quit()
    
  5. 編輯 MongoDB 配置文件 /etc/mongod.conf

    sudo vi /etc/mongod.conf
    

    添加以下行以啟用身份驗證:

    security:
      authorization: enabled
    

    保存并關(guān)閉文件。

  6. 重新啟動 MongoDB 服務(wù)。

    sudo systemctl restart mongod
    

現(xiàn)在,MongoDB 已經(jīng)配置了身份驗證,你需要提供用戶名和密碼才能訪問數(shù)據(jù)庫。在命令行上連接到 MongoDB 時,你可以使用 -u-p 選項提供用戶名和密碼:

mongo -u adminUser -p yourPassword --authenticationDatabase admin

請確保將 adminUseryourPassword 替換為你實際設(shè)置的用戶名和密碼。

3. 測試語句

要測試 MongoDB 數(shù)據(jù)庫中的查詢語句或執(zhí)行其他操作,你可以使用 MongoDB 的命令行客戶端 mongo。以下是一些示例查詢語句和其他操作:

  1. 連接到 MongoDB 數(shù)據(jù)庫:

    mongo -u adminUser -p yourPassword --authenticationDatabase admin
    

    請將 adminUseryourPassword 替換為你的用戶名和密碼。

  2. 列出所有數(shù)據(jù)庫:

    show dbs
    
  3. 切換到一個數(shù)據(jù)庫:

    use yourDatabase
    

    yourDatabase 替換為你要使用的實際數(shù)據(jù)庫。

  4. 插入文檔到集合:

    db.yourCollection.insert({ key: "value" })
    

    yourCollection 替換為你要插入文檔的集合名稱,keyvalue 替換為你要插入的字段和值。

  5. 查詢集合中的文檔:

    db.yourCollection.find()
    

    這將返回集合中的所有文檔。

  6. 更新文檔:

    db.yourCollection.update({ key: "value" }, { $set: { keyToUpdate: "newValue" } })
    

    這將更新匹配條件的文檔中的字段值。

  7. 刪除文檔:

    db.yourCollection.remove({ key: "value" })
    

    這將刪除匹配條件的文檔。

  8. 顯示集合中的文檔數(shù):

    db.yourCollection.count()
    

    這將返回集合中的文檔數(shù)量。

4. 允許外網(wǎng)訪問

要允許外網(wǎng)訪問 MongoDB,你需要在 MongoDB 的配置文件中做一些更改,以及根據(jù)你的環(huán)境設(shè)置防火墻規(guī)則。以下是一般步驟:

  1. 編輯 MongoDB 配置文件:

    打開 MongoDB 的配置文件,通常位于 /etc/mongod.conf。你可以使用文本編輯器打開它,例如:

    sudo vi /etc/mongod.conf
    
  2. 在配置文件中找到 bindIp 配置項。默認情況下,它可能設(shè)置為 127.0.0.1,這只允許本地訪問。你需要更改它以允許外網(wǎng)訪問。

    bindIp: 0.0.0.0
    

    這將允許 MongoDB 偵聽所有網(wǎng)絡(luò)接口上的連接。

    請注意,將 bindIp 設(shè)置為 0.0.0.0 可能會帶來一定的安全風(fēng)險,因為它會使 MongoDB 開放給所有的IP地址。因此,你應(yīng)該采取其他措施來限制對 MongoDB 的訪問,如設(shè)置身份驗證和訪問控制列表(ACL)。

  3. 保存并關(guān)閉配置文件。

  4. 重新啟動 MongoDB 服務(wù):

    sudo systemctl restart mongod
    
  5. 設(shè)置防火墻規(guī)則:

    如果你的服務(wù)器上啟用了防火墻(如Firewalld),你需要確保打開 MongoDB 的監(jiān)聽端口(默認是27017)以允許外部訪問。你可以運行以下命令:

    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
    sudo firewall-cmd --reload
    

    這將添加一個永久的規(guī)則,允許外部連接到 MongoDB 的端口。

現(xiàn)在,你的 MongoDB 服務(wù)器應(yīng)該已經(jīng)允許外部訪問。但請注意,在將 MongoDB 公開到外部網(wǎng)絡(luò)時,務(wù)必采取額外的安全措施,如配置身份驗證、設(shè)置訪問控制列表、定期備份數(shù)據(jù)以及監(jiān)控數(shù)據(jù)庫活動,以確保安全性和數(shù)據(jù)保護。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容