Docker安装MongoDB并使用Navicat连接的操作方法
作者:追逐时光者 发布时间:2023-11-26 06:46:44
MongoDB简介:
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当 * 能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
查看可用的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镜像:
docker pull mongo:latest
注意:tag是可选的,tag表示标签,多为软件的版本,默认是latest版本(最新版)
验证MongoDB镜像是否成功拉取到本地:
使用以下命令来查看MongoDB镜像是否成功拉取到本地:
docker images
创建并运行一个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:需要密码才能访问容器服务。
解决无法正常执行mongo命令问题
进入容器:
docker exec -it mongo-test mongo
异常原因:
OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown
官网解决方案:
https://github.com/docker-library/mongo/issues/558
mongo5.0以上的版本使用mongo来执行mongodb命令已经不支持了,你需要改用mongosh来替代mongo!
添加MongoDB连接用户和密码:
1、进入创建的MongoDB容器
docker exec -it mongo-test mongosh
2、创建MongoDB用户
#进入 admin 的数据库
use admin
#创建管理员用户
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
#创建有可读写权限的用户. 对于一个特定的数据库, 比如'demo'
db.createUser({
user: 'test',
pwd: '123456',
roles: [{role: "read", db: "demo"}]
})
服务器配置27017的开放端口:
Navicat连接mongoDB
1.连接MongoDB点击这个位置
2、连接参数介绍:
stand alone:独立的
shard cluster:分片集群
replica set:复制集
SRV record:
SRV记录是DNS服务器的数据库中支持的一种资源记录的类型,它记录了哪台计算机提供了哪个服务这么一个简单的信息。
SRV 记录:一般是为Microsoft的活动目录设置时的应用。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。
为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。
活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。
一般情况下,我们连接只需要连接主库查数据,所以选择独立的这个连接方式就可以,填写好常规参数可以点击测试连接是否正常,即可连接!
来源:https://www.cnblogs.com/Can-daydayup/p/16653882.html


猜你喜欢
- 要做好一个网站是非常辛苦的,通常有没有捷径,但以下这个清单应该能为您提供几点建议。这是我为了在最短时间内改善网站、提高浏览量而编制出的一份清
- 10月22日消息,视频分享网站56网与成都传媒集团携手,就“国际小姐”世界大会展开深层次合作,56网
- 新浪科技讯 7月21日傍晚消息,据谷歌中国证实,该公司将在AdSense广告联盟中引入电子支付方式。这是该业务在中国本地化提速的重要一步,谷
- Outlook Web Access(OWA)让拥有Exchange帐户的用户能够从任何一台有网络浏览器的电脑上管理他们的电子邮件,但不是所
- 我是名站长,就像08上海草根大会上哪位嘉宾(忘了)一直强调自己是一名草根一样,我是名真正的站长,因为我有自己的站,并且很多人,可是我现在关注
- 今天喝了点酒,谈下建站2年的经验,实在是不爱打字,尽量简洁点,希望能帮助下新人朋友。我和网络接触的真正时候,大约3年前。其实也不算接触网络,
- 百度将赞助商的网站与搜索结果混为一体已经不是一天两天的事情了,这点在很久以前就为用户说诟病。尽管这对其市场占有率并不会带来多大的消极影响,但
- 在Discuz! 7.0中发布多媒体,比如引用其他网站的视频、mp3 等。需要设置三个地方。首先,对编辑器设置。打开后台,界面=>编辑
- “企业的成功在于其创造力、想象力、大胆的尝试及富于幻想的激情”,这是吉姆·柯林
- dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出种方法方法1:在列表需要的位置加入下列代码[field:
- 每周我都会拿到两到三个网站设计的订单,有些是从老客户那里来的,但更多的是来自一些不相识的随机出现的人那里,有时甚至来自一些网络名人或者是知名
- 网站要有好的排名。除了网站内部结构合理外。外链也是一个非常重要的因素。因为外链是提高网站PR值很重要的一步。而PR值直接影响网站的排名。说到
- 1.command not found 命令没有找到2.No such file or directory 没有这个文件或目录3.Permi
- 第一次修正版的威客模式成熟公式为:W=(B+C+M)×CR W (witkey)
- 昨天帮人装了个系统忘了手滑点了自动分区,自动分的大小是很无语的不适合日常使用。执行命令:df -h可以看到系统自动把剩余的空间全部分配到ho
- (1)首先打开系统的设置,点击区域和语言(2)点击+号选择汉语(Intelligent Pinyin)(3)然后突出点击右上角切换到汉语拼音
- 首先,当然是去下载Linux的JDK咯。先看你Linux的系统多少位:getconf LONG_BIT然后去下载对应的JDK位数 版本.—自
- 前言系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是综合能力的体现;那么当出现了cpu严重飙高的时候怎么排查呢?一、第一步
- 1、网关主机设置 服务器上有两块网卡,eth0使用*.*.*.*IP地址连接Internet,eth1连接LAN,则其/etc/n
- 在上周的SharePoint大会上微软首席执行官Steven Ballmer曾宣布,SharePoint Server 2010和Offic