最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB從入門到實戰(zhàn)之Docker快速安裝MongoDB的詳細過程

 更新時間:2025年05月23日 10:55:26   作者:追逐時光者  
這篇文章主要介紹了MongoDB從入門到實戰(zhàn)之Docker快速安裝MongoDB的詳細過程,本文給大家分享詳細實戰(zhàn)教程,幫助大家快速把MongoDB環(huán)境搭建起來,感興趣的朋友一起看看吧

前言

在上一篇文章中帶領帶同學們快速入門MongoDB這個文檔型的NoSQL數據庫,讓大家快速的了解了MongoDB的基本概念。這一章開始我們就開始實戰(zhàn)篇教程,為了快速把MongoDB使用起來我將會把MongoDB在Docker容器中安裝起來作為開發(fā)環(huán)境使用。然后我這邊MongoDB的可視化工具用的是Navicate。廢話不多說,我們先花了幾分鐘開始的把MongoDB環(huán)境搭建起來。

查看可用的MongoDB版本

  • 訪問DokcerHub中的MongoDB鏡像庫地址:https://hub.docker.com/_/mongo/tags
  • 可以通過 Sort by 查看其他版本的MongoDB,查看最新版本MongoDB鏡像(mongo:latest):https://hub.docker.com/_/mongo/tags?page=1&name=latest

此外,我們還可以用docker search mongo命令來查看可用版本:

拉取最新版本的MongoDB鏡像

注意假如你鏡像拉取超時可以看看這里(多平臺容器鏡像代理服務):https://dockerproxy.github.io/#/index

docker pull mongo:latest

注意:tag是可選的,tag表示標簽,多為軟件的版本,默認是latest版本(最新版)

https://hub.docker.com/_/mongo/tags?page=1&name=latest

驗證MongoDB鏡像是否成功拉取到本地

使用以下命令來查看MongoDB鏡像是否成功拉取到本地:

docker images

創(chuàng)建并運行一個MongoDB容器

docker run -itd --name mongo-test -p 27017:27017 mongo --auth

參數說明:

  • -itd:其中,i是交互式操作,t是一個終端,d指的是在后臺運行。
  • --name mongo-test:容器名稱
  • -p 27017:27017 :映射容器服務的 27017 端口到宿主機的 27017 端口。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務。
  • --auth:需要密碼才能訪問容器服務(注意:安全問題,MongoDB默認是不開啟權限驗證的,不過設置了這里就相當于修改MongoDB的配置auth=ture啟用權限訪問)。

進入創(chuàng)建的MongoDB容器

docker exec -it  mongo-test mongosh

MongoDB報錯"ongoServerError: not authorized on admin to execute command"

MongoDB默認是不需要用戶密碼就可以連接的,如果使用命令報錯"ongoServerError: not authorized on admin to execute command ",則表示當前登陸用戶不具備相應權限。

解決辦法:在admin數據庫中通過創(chuàng)建一個用戶,賦予用戶root權限。

# 進入admin數據庫
use admin
# 創(chuàng)建一個超級用戶
db.createUser(
    {
        user:"root",
        pwd:"123456",
        roles:[{role:"root",db:"admin"}]
    }
);#授權登錄db.auth('root','123456')

MongoDB用戶權限管理

MongoDB添加用戶命令說明

  • user字段,為新用戶的名字。
  • pwd字段,用戶的密碼。
  • cusomData字段,為任意內容,例如可以為用戶全名介紹。
  • roles字段,指定用戶的角色,可以用一個空數組給新用戶設定空角色。在roles字段,可以指定內置角色和用戶定義的角色。
  • 超級用戶的role有兩種,userAdmin或者userAdminAnyDatabase(比前一種多加了對所有數據庫的訪問,僅僅是訪問而已)。
  • db是指定數據庫的名字,admin是管理數據庫。
  • 不能用admin數據庫中的用戶登錄其他數據庫。注:只能查看當前數據庫中的用戶,哪怕當前數據庫admin數據庫,也只能查看admin數據庫中創(chuàng)建的用戶。

MongoDB數據庫角色說明

  • 數據庫用戶角色:read、readWrite。
  • 數據庫管理角色:dbAdmin、dbOwner、userAdmin。
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManage。
  • 備份恢復角色:backup、restore。
  • 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase。
  • 超級用戶角色:root。
  • 內部角色:__system。

MongoDB中的role詳解

  • Read:允許用戶讀取指定數據庫。
  • readWrite:允許用戶讀寫指定數據庫。
  • dbAdmin:允許用戶在指定數據庫中執(zhí)行管理函數,如索引創(chuàng)建、刪除,查看統(tǒng)計或訪問system.profile。
  • userAdmin:允許用戶向system.users集合寫入,可以在指定數據庫里創(chuàng)建、刪除和管理用戶。
  • clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
  • readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限。
  • readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限。
  • userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限。
  • dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
  • root:只在admin數據庫中可用。超級賬號,超級權限。

首先切換到admin數據庫中

# 進入admin數據庫
use admin

創(chuàng)建admin超級管理員用戶

指定用戶的角色和數據庫: (注意此時添加的用戶都只用于admin數據庫,而非你存儲業(yè)務數據的數據庫) (在cmd中敲多行代碼時,直接敲回車換行,最后以分號首尾)。

db.createUser(  
  { user: "admin",  
    customData:{description:"superuser"},
    pwd: "admin",  
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
  }  
)

創(chuàng)建一個不受訪問限制的超級用戶

擁有所有權限,不受任何限制。

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

創(chuàng)建一個業(yè)務數據庫管理員用戶

只負責某一個或幾個數據庫的増查改刪。

db.createUser({
    user:"user001",
    pwd:"123456",
    customData:{
        name:'jim',
        email:'jim@qq.com',
        age:18,
    },
    roles:[
        {role:"readWrite",db:"db001"},
        {role:"readWrite",db:"db002"},
        'read'// 對其他數據庫有只讀權限,對db001、db002是讀寫權限
    ]
})

服務器配置27017的開放端口

Navicat連接mongoDB并創(chuàng)建集合和添加數據

1.連接MongoDB點擊這個位置

2、連接參數介紹

  • Standalone:單機模式,是MongoDB最基本的部署方式。在這種模式下,MongoDB運行在一個單一的服務器上,適合用于開發(fā)、測試或者小型應用。由于它不具備高可用性和可擴展性,因此不適用于大型生產環(huán)境或需要高可靠性的場景。
  • Shard Cluster:分片集群,是MongoDB提供的一種用于橫向擴展存儲和計算能力的分布式部署模式。通過分片,可以將數據集分割成多個部分,并分布到集群中的不同節(jié)點上。每個節(jié)點存儲數據的一個子集,從而提高了數據的訪問效率和系統(tǒng)的可擴展性。
  • Replica Set:副本集,是MongoDB提供的一種高可用性和數據冗余的部署模式。它由一組MongoDB實例組成,這些實例之間通過復制和故障轉移來保持數據的一致性和可用性。

一般情況下,我們連接只需要連接主庫查數據,所以選擇單例連接方式即可,填寫好常規(guī)參數可以點擊測試連接是否正常,即可連接!

3、新建MongoDB數據庫(MyMondoDBTest)

4、新建MongoDB文檔(Books)并添加數據

到此這篇關于MongoDB從入門到實戰(zhàn)之Docker快速安裝MongoDB的文章就介紹到這了,更多相關Docker安裝MongoDB內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker swarm如何通過docker-compose部署應用

    Docker swarm如何通過docker-compose部署應用

    這篇文章主要介紹了Docker swarm如何通過docker-compose部署應用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • docker firewalld 防火墻設置方式

    docker firewalld 防火墻設置方式

    在CentOS7中,Docker默認修改防火墻配置,可能導致手動添加的策略失效,解決方法包括啟用firewalld,禁用Docker的iptables,并重新配置防火墻策略,具體步驟包括編輯/etc/docker/daemon.json文件,重啟Docker服務,以及在firewalld中設置偽裝地址和端口策略
    2024-10-10
  • Docker 限制容器的 Block IO使用

    Docker 限制容器的 Block IO使用

    本篇文章主要介紹了Docker 限制容器的 Block IO使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • Docker部署Nginx 及Nginx的基本使用最佳實踐

    Docker部署Nginx 及Nginx的基本使用最佳實踐

    Nginx是一個高性能的HTTP和反向代理服務器,廣泛應用于Web服務、負載均衡和靜態(tài)資源托管等領域,這篇文章主要介紹了Docker部署Nginx 以及Nginx的基本使用,需要的朋友可以參考下
    2025-04-04
  • Docker容器備份的常用方法總結

    Docker容器備份的常用方法總結

    容器化技術已經成為現代應用開發(fā)和部署的核心組成部分,而 Docker 作為最流行的容器平臺,承載著越來越多的關鍵業(yè)務,在這些環(huán)境中,確保容器數據的安全性和可恢復性至關重要,本文給大家介紹了Docker容器備份的常用方法,需要的朋友可以參考下
    2025-08-08
  • Docker容器中沒有vi/ps等命令問題

    Docker容器中沒有vi/ps等命令問題

    這篇文章主要介紹了Docker容器中沒有vi/ps等命令問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 繼docker之后podman容器技術崛起

    繼docker之后podman容器技術崛起

    這篇文章主要為大家介紹了繼docker之后的podman云原生容器技術崛起的詳細介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • docker中使用mongodb數據庫詳解(在局域網訪問)

    docker中使用mongodb數據庫詳解(在局域網訪問)

    這篇文章主要給大家介紹了在docker中使用mongodb數據庫,在局域網訪問的相關資料,文中將步驟介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Docker iptables的錯誤解決

    Docker iptables的錯誤解決

    本文主要介紹了Docker iptables的錯誤解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • Docker?部署RocketMQ的詳細操作

    Docker?部署RocketMQ的詳細操作

    這篇文章主要介紹了Docker?部署RocketMQ的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01

最新評論

浦县| 宁晋县| 桃江县| 淮安市| 仁布县| 甘洛县| 岑巩县| 循化| 剑川县| 社会| 沁水县| 巍山| 高陵县| 加查县| 共和县| 三门峡市| 凤凰县| 拉萨市| 麻栗坡县| 耒阳市| 耿马| 吐鲁番市| 彭山县| 灵宝市| 黔东| 临沭县| 北票市| 东乡县| 紫云| 大庆市| 岳普湖县| 开封市| 潜江市| 道孚县| 台中县| 南充市| 兴文县| 临高县| 沿河| 垣曲县| 乳源|