一、连接MongoDB

1、无设置密码

  • 最终成功页面

2、设置了密码

  • 后续同1

二、安装

  • MongoDB版本:5.0.5

  • 参考:

https://www.cnblogs.com/cwp-bg/p/10403327.html

https://blog.csdn.net/weixin_45753881/article/details/126647801

https://www.jianshu.com/p/79caa1cc49a5

1、准备工作

①、创建三个文件夹

# 数据文件夹
mkdir /usr/developSoftware/mongodb/data
# 备份+日志
mkdir /usr/developSoftware/mongodb/backup
# 配置文件夹
mkdir /usr/developSoftware/mongodb/conf

②、准备配置文件,也可以不准备

touch /usr/developSoftware/mongodb/conf/mongodb.conf
touch /usr/developSoftware/mongodb/backup/log.txt
  • mongodb.conf 放到 /usr/developSoftware/mongodb/conf 下面

  • mongodb.conf 内容:

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

2、Docker安装

2.1、镜像、容器操作

# 搜索
docker search mongodb
# 拉取镜像
docker pull mongo
# 查看镜像
docker images
  • 创建和启动容器

    • 重点:记得加:--auth
    • 如果不开启身份验证后果:①不用账号密码,直接可以登陆;②第二天数据会被删除
# 创建和启动容器
# 容器命名mymongo,数据库数据文件挂载到/usr/developSoftware/mongodb/data,备份文件挂载到/usr/developSoftware/mongodb/backup,启动的配置文件目录挂载到容器的/usr/developSoftware/mongodb/conf,--auth开启身份验证。
docker run -d --name mymongo -p 27017:27017 --restart=always -v /usr/developSoftware/mongodb/data:/data/db -v /usr/developSoftware/mongodb/backup:/data/backup -v /usr/developSoftware/mongodb/conf:/data/configdb -d mongo --auth
  • 查看版本
# 进入容器
docker exec -it mymongo /bin/bash
# 查看版本
mongod --version
# 使用MongoDB客户端进行操作
mongo > show dbs #查询所有的数据库
admin 0.000GB
config 0.000GB
local 0.000GB
> db.version() #查询版本
5.0.5

2.2、设置密码登陆

  • Mongo提供了一些默认的角色
权限 描述
read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问
dbOwner 提供该数据库下所有权限操作能力。
userAdmin 提供该数据库下用户和权限的创建和修改的操作能力。可以创建dbOwner权限。
clusterAdmin 提供最大的集群管理访问。
clusterManager 提供对集群的管理和监控操作。具有此角色的用户可以访问configlocal 数据库,分别用于分片和复制。
clusterMonitor 提供对监控工具的只读访问。
hostManager 提供监控和管理能力。
backup 数据备份能力。
restore 数据恢复能力。
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root 超级管理员,简而言之,畅通无阻。
①、设置管理账户
# 进入amdin数据库
use admin
  • 创建超级管理账号
# 创建超级权限root角色的用户,或者userAdminAnyDatabase 等角色权限比较大的用户,我创建的是拥有超级权限root角色的用户root
# 用户名:rootCs,密码:123rootCs456,角色:root,数据库:admin
db.createUser({user:'rootCs',pwd:'123rootCs456',roles:[{role:'root',db:'admin'}]})
  • 登陆超级管理账号
# 认证登录db.auth('用户名','密码'),打印1则代表认证通过
db.auth('rootCs','123rootCs456')

②、新增数据库并创建用户
  • use,切换到指定数据库。没有这个数据库会创建一个。
use myMongo
  • 创建用户:cs,密码:cs123456
db.createUser({user:"cs", pwd:"cs123456", roles:[{role: "dbOwner", db:"myMongo" }]})
  • 登陆/认证用户
db.auth('cs','cs123456')
  • 查看该数据库下面的表(数据)
show collections

3、总结

  • 如果是云服务器(如阿里云服务器),记得开放端口:27017

  • MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mongodb就会产生安全风险。

  • 使用URL

# 无账号密码
mongodb://yourIp:27017/myMongo
# 有账号密码
mongodb://cs:cs123456@yourIp:27017/myMongo

连接MongoDB+Docker安装MongoDB的更多相关文章

  1. Linux平台安装MongoDB及使用Docker安装MongoDB

    一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...

  2. Docker 安装 mongoDB(五)

    Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...

  3. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

  4. Docker安装MongoDB、MySQL、Jenkins、Gitlab、Nginx

    Docker安装MongoDB.MySQL.Jenkins.Gitlab.Nginx 安装MongoDB 1. 拉取镜像 $ sudo docker pull mongo 2. 运行镜像 $ sudo ...

  5. Docker01 centos系统安装、centos安装docker、docker安装mongoDB

    1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...

  6. docker 安装MongoDB以及设置用户

    MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序. 1.查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https://hub.docker.com/_/ ...

  7. docker安装mongodb和redis

    一.安装mongodb docker pull mongo docker run -p 27017:27017 -d --name mongodb01 mongo docker run -p 2701 ...

  8. docker安装MongoDB创建用户,并用工具Robo连接简单CRUD

    搜索mongo docker search mongo 拉取mongo[这里默认为latest] docker pull mongo 查看本地镜像 启动容器[就是安装,-v后面的参数表示把数据文件挂载 ...

  9. Docker安装MongoDB并使用Navicat连接

    MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库 ...

  10. docker安装mongodb并备份

    安装 官方镜像地址: https://hub.docker.com/_/mongo?tab=description 可以查看对应的dockerfile, 通过观察docker-entrypoint.s ...

随机推荐

  1. C语言中链表与队列

    https://www.cnblogs.com/lanhaicode/p/10432004.html

  2. 07.异常、多线程、Lambda 表达式

    一.异常 指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止. 异常体系 根类 java.lang.Throwable 两个直接子类 java.lang.Error 严重错误Er ...

  3. 在为 DataGridView 添加数据列时,弹出 将要添加的列 CellType 属性为空 错误提示与说明

    事务:为 DataGridView 添加数据列[也可以说是直接操作 DataGridView 数据列...]... 原由:在为 DataGridView 添加列的时候,[至少这是第三次遇到] 弹出 添 ...

  4. CanvasScaler的三种适配模式——缩放模式(Scale with Screen Size)

    一.含义 根据屏幕尺寸进行缩放,随着屏幕尺寸进行放大缩小 二.参数介绍 第一个参数一般是美术人员根据游戏主要面向的手机市场,比如安卓市场,用市场上最常用的分辨率作为制作UI图片的标准.这里填的数就是美 ...

  5. mysql 以自增id等于某个random()函数算出的值为条件查出两条数据

    SELECT id FROM users WHERE id = FLOOR( rand() * ( (SELECT max(id) FROM users) - (SELECT min(id) FROM ...

  6. 多线程中使用COM 的注意事项

    最近做了一个TCP Server的程序,其中需用使用COM组件,但是tcp 的部分是阻塞的,所以开了一个线程用来专门接收来自客户端的信号,当接收到信号后,再根据情况处理. 按照这个思路,在程序的一开始 ...

  7. 实践Pytorch中的模型剪枝方法

    摘要:所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差的模型压缩技术. 本文分享自华为云社区<模型压缩-pytorch 中的模型剪枝方法实践>,作者:嵌入式 ...

  8. 虚拟办公、虚拟展会、虚拟偶像,RTE+XR 还能做什么?

    2021年6月10日,HTC VIVE 在北京举办以"融合·至界"为主题的新品体验会暨开发者客户大会.近 300 位 XR 行业精英齐聚一堂,共同见证了 HTC VIVE 全能 V ...

  9. Resistance distance 图上2个节点的等效电阻求解算法

    目录 如何计算正方体网络中(乃至更一般的图)2个节点间的等效电阻? 公式的正确性很容易得到验证 如何计算Weighted matrix的Resistance matrix 我验证了特例,是对的,但是对 ...

  10. Django笔记三之使用model对数据库进行增删改查

    本篇笔记目录索引如下: model 准备 增 查 删 改 1.model 准备 在上一篇笔记中,我们新建了一个 application,增加了几个model 同步到了数据库,这次我们新建一个名为 bl ...