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
猜你喜欢
- Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就
- 打个比方我删除了id是41的栏目,生成HTML时,生成到这个栏目时就出错,很不爽!!现在我们调整一下栏目id,把后面的提上来弥补41,也就是
- 据有关资料显示,现在有大量的服务器仍在使用IIS提供Web服务,甚至有争夺占领Apache市场的趋势。在Web威胁日益严重的今天,我们当然要
- 曾引发网民热议的“网易老总丁磊养猪”一事,又有新消息!21日,记者独家从相关渠道获悉,网易将先期投资
- 国内浏览器研发商傲游日前宣布,将与全球最大的俄文搜索引擎Yandex建立战略合作关系,傲游将在未来的俄文官方版本中采用Yandex的主页做为
- 今天看到了杜甫的《春夜喜雨》,一下引起了我的共鸣。原来杜甫很懂SEO的。随风潜入夜,润物细无声。说明了SEO原则。SEO是&ldqu
- #LimitthemaximumnumberofanonymousloginsMaxClients10#We!;want'
- 配置telnet服务:(1) 用vi命令编辑/etc/hosts.deny文件,放开telnet登录权限控制# vi /etc/hosts.
- 由SiteServer CMS、中国站长站联合主办,中电数据、创意在线协作举办、站长 * 别支持的“2010,我爱SiteServer CMS
- UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。本期教程笔者为大家详细的介绍下,UCenter
- 10月16日消息,搜狐IT发现,百度新闻对单条新闻页面进行了改版。此次改版后,百度新闻将抓取的新闻内容整合在百度专题页面上,用户阅读新闻可以
- 从去年到现在,百度已经进行了大规模的算法调整。而且现在已经有一个不成文的规律,那就是每个月低的动作特别大,不例外,从上个月低开始,百度又开始
- 《暮光之城 新月》刚刚在北美公映几天,其票房就创造了北美单日最高票房以及首映日最高票房两项纪录。《新月》再次演绎了吸血鬼与人之间近乎完美的爱
- 在类 Unix 系统中,你可能知道一个命令或进程开始执行的时间,以及一个进程运行了多久。 但是,你如何知道这个命令或进程何时结束或者它完成运
- 引:在一台服务器的使用上,磁盘往往占据着很重要的位置。服务器磁盘的配置和维护对整个服务器性能方面产生很大影响。实际上,优化服务器磁盘的方法只
- 前言:从事SEO工作也有两年多时间了,为很多网站出过SEO解决方案,因为喜欢SEOWHY的环境,这次申请达人,决定拿出点实在的东西和大家一起
- 服务器中的错误记录类似于这种:124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400
- 服务器不仅仅是企业网络设备的中枢,也是企业软件及数据库应用的主体。在实际运行中服务器经常会出现这样或那样的故障,软件的或者硬件的。很多故障是
- 广告位置的设置合理与否,将直接影响到我们站长的收入,那么要什么样的位置才是最合适呢,我们只有通过不段的反复摸索才能最大化的提高广告的点击率。
- 自从Discuz!论坛系统推出7.0版本之后,系统的自带风格、默认头像等都更加时尚与新潮了。但有些论坛的会员上传低俗、违法头像,破坏了论坛社