05 Docker 安装常用软件 (mongoDB)

目录

[1. mongoDB简介](#1. mongoDB简介)

[1.1 mongodb的优势](#1.1 mongodb的优势)

[2. mongodb的安装](#2. mongodb的安装)

[2.1 创建数据文件夹](#2.1 创建数据文件夹)

[2.2 备份+日志](#2.2 备份+日志)

[2.3 配置文件夹](#2.3 配置文件夹)

[2.4 创建两个文件](#2.4 创建两个文件)

[---> 2.4.1 配置如下:](#---> 2.4.1 配置如下:)

[2.5 拉取mongodb](#2.5 拉取mongodb)

[2.6 运行容器](#2.6 运行容器)

[2.7 进入mongodb容器](#2.7 进入mongodb容器)

[---> 2.7.0 高版本(6.0)以上是这样的 , 旧版的没研究](#---> 2.7.0 高版本(6.0)以上是这样的 , 旧版的没研究)

[---> 2.7.1 查询版本](#---> 2.7.1 查询版本)

[---> 2.7.2 进入amdin数据库](#---> 2.7.2 进入amdin数据库)

[---> 2.7.3 创建超级权限root角色的用户](#---> 2.7.3 创建超级权限root角色的用户)

[---> 2.7.4 认证登录db.auth('用户名','密码'),打印1则代表认证通过](#---> 2.7.4 认证登录db.auth('用户名','密码'),打印1则代表认证通过)

[---> 2.7.5 没有这个数据库会创建一个。](#---> 2.7.5 没有这个数据库会创建一个。)

[---> 2.7.6 再试一次 换个权限](#---> 2.7.6 再试一次 换个权限)

[3. 开放端口 27017端口](#3. 开放端口 27017端口)

[4. 使用可视化工具测试](#4. 使用可视化工具测试)

[-> 4.1 使用navicat进行连接](#-> 4.1 使用navicat进行连接)

[-> 4.2 mongo compass 原生](#-> 4.2 mongo compass 原生)

[5. 总结:](#5. 总结:)


1. mongoDB简介

1.1 mongodb的优势

  1. 高可扩展性:MongoDB是一种分布式数据库,因此可以很容易地在多个服务器上进行扩展。可以通过增加节点、分片和副本集等方式来实现高可扩展性。

  2. 数据模型的灵活性:MongoDB采用文档式存储方式,可以存储各种形式的数据。这意味着可在同一数据库中存储多种类型的数据,开发人员能更快速执行数据模型的迭代。

  3. 高性能:MongoDB能够提供高性能的读写速度,支持高并发请求。同时,MongoDB还支持自动分片和负载均衡,从而可以更加灵活地进行数据管理。

  4. 易于使用:MongoDB的查询语言非常直观,并且能够使用类似SQL的语法进行查询。此外,MongoDB还提供了各种工具和驱动程序,方便开发人员进行数据操作和管理。

  5. 可扩展性和灵活性的结合:MongoDB提供可扩展性和灵活性的完美结合。这意味着可以根据应用程序的需要,灵活地扩展和调整数据库,同时也可以灵活地进行数据建模。

2. mongodb的安装

2.1 创建数据文件夹

复制代码
mkdir -p /usr/local/src/docker/mongodb/data

2.2 备份+日志

复制代码
mkdir -p /usr/local/src/docker/mongodb/backup

2.3 配置文件夹

复制代码
mkdir -p /usr/local/src/docker/mongodb/conf

2.4 创建两个文件

复制代码
touch /usr/local/src/docker/mongodb/conf/mongodb.conf

touch /usr/local/src/docker/mongodb/backup/log.txt

---> 2.4.1 配置如下:

cs 复制代码
#数据库数据存放目录
dbpath=/usr/local/src/docker/mongodb/data
#数据库日志存放目录
logpath=/usr/local/src/docker/mongodb/log.txt
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017 
#以后台方式运行进程
fork=true 
#开启用户认证
auth=true

2.5 拉取mongodb

复制代码
docker pull mongo

2.6 运行容器

复制代码
docker run -d --name mongodb -p 27017:27017 \
--restart=always \
-v /usr/local/src/docker/mongodb/data:/data/db \
-v /usr/local/src/docker/mongodb/backup:/data/backup \
-v /usr/local/src/docker/mongodb/conf:/data/configdb \
-d mongo --auth

2.7 进入mongodb容器

---> 2.7.0 高版本(6.0)以上是这样的 , 旧版的没研究

低版本的 可以百度搜索: docker 进入mongodb容器

复制代码
docker exec -it mongodb mongosh

---> 2.7.1 查询版本

复制代码
db.version()

---> 2.7.2 进入amdin数据库

复制代码
use admin

---> 2.7.3 创建超级权限root角色的用户

或者userAdminAnyDatabase 等角色权限比较大的用户,

我创建的是拥有超级权限root角色的用户root

用户名:pingzhuyan,密码:123456,角色:root,数据库:admin

cs 复制代码
db.createUser({user:'pingzhuyan',pwd:'123456',roles:[{role:'root',db:'admin'}]})

---> 2.7.4 认证登录db.auth('用户名','密码'),打印1则代表认证通过

cs 复制代码
db.auth('pingzhuyan','123456')

---> 2.7.5 没有这个数据库会创建一个。

cs 复制代码
use pzyMongodb

---> 2.7.6 再试一次 换个权限

cs 复制代码
db.createUser({user:'pingzhuyan',pwd:'123456789',roles:[{role:'dbOwner',db:'pzyMongodb'}]})
db.auth('pingzhuyan','123456789')

3. 开放端口 27017端口

云服务器打开安全组(防火墙) 添加端口号 27017

本地虚拟机 关闭防火墙

windows安装的无所谓

4. 使用可视化工具测试

-> 4.1 使用navicat进行连接

-> 4.2 mongo compass 原生


5. 本文总结

安装结束, 下文是基础使用

创建库 集合 增删改查等

相关推荐
程序设计实验室9 分钟前
经历分享,发现挖矿木马后,服务器快速备份与重装(腾讯云平台)
linux
咕白m6251 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto2 小时前
Spring AOP 失效排查
java·spring
Miku162 小时前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·人工智能·agent
Miku162 小时前
OpenClaw 接入 QQ Bot 完整实践指南
linux·人工智能·agent
码路飞2 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript
Nyarlathotep01132 小时前
LinkedList源码分析
java·后端
用户8307196840822 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
带刺的坐椅3 小时前
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
java·ai·agent·solon·solon-ai·claude-code·openclaw
会员源码网4 小时前
数字格式化陷阱:如何优雅处理 NumberFormatException
java