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. 本文总结

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

创建库 集合 增删改查等

相关推荐
用户0332126663674 分钟前
Java 将 CSV 转换为 Excel:告别繁琐,拥抱高效数据处理
java·excel
这周也會开心10 分钟前
Java-多态
java·开发语言
渣哥19 分钟前
揭秘!Java反射机制到底是什么?原来应用场景这么广!
java
叫我阿柒啊22 分钟前
Java全栈开发实战:从Spring Boot到Vue3的项目实践
java·spring boot·微服务·性能优化·vue3·全栈开发
青草地溪水旁27 分钟前
`lock()` 和 `unlock()` 线程同步函数
linux·c++·c
2401_8582861135 分钟前
OS26.【Linux】进程程序替换(下)
linux·运维·服务器·开发语言·算法·exec·进程
猿java36 分钟前
在 Spring中,用id和name命名Bean,究竟有什么区别?
后端·spring·架构
CPU NULL44 分钟前
Spring拦截器中@Resource注入为null的问题
java·人工智能·后端·spring
令狐少侠20111 小时前
如何使用navicat连接容器中的mysql数据库
mysql·docker
linyb极客之路1 小时前
搞不定 Docker 部署 SeaTunnel?这些坑与解法你得知道!
docker