MongoDB是一种基于分布式文件存储的数据库,使用C++语言开发,旨在为Web应用提供可扩展且高性能的数据存储解决方案。作为一种介于关系数据库和非关系数据库之间的技术,MongoDB具有强大的功能和高效的性能,特别适用于处理海量的非结构化数据。
- 数据模型:MongoDB采用文档数据模型,数据以类似JSON的BSON格式存储,支持复杂的数据结构,如内嵌文档和数组,具有高度的灵活性。
- 查询语言:MongoDB提供类似面向对象的查询语言,支持动态查询,能够实现大多数关系型数据库的单表查询功能,同时支持数据索引以提高查询性能。
- 分布式存储:MongoDB支持水平扩展,可将数据分布到多个服务器上,保证高可用性和出色的性能。
- 高可用性与容灾:MongoDB通过复制集和分片机制,确保系统具备高可用性和容灾能力,从而提升了系统的可扩展性。
MongoDB由10gen(现为MongoDB Inc.)于2007年开始开发,最初目标是构建一个云平台即服务(PaaS)。2009年,MongoDB作为开源项目正式发布。自那时以来,MongoDB经历了快速发展,新增了如复制集、分片等关键特性,显著提升了可扩展性和高可用性。最近的技术创新包括优化有线协议和引入新的存储引擎,进一步增强了事务支持功能。
MongoDB非常适合需要快速迭代和支持多样化数据格式的应用场景。凭借其灵活的数据库模型和出色的性能,MongoDB已被广泛应用于各类企业,满足从初创公司到大型企业的不同数据管理需求。尤其在处理海量非结构化数据的场景中,MongoDB表现出色,成为许多行业的首选数据库解决方案。
(1)进入文件夹
注:不必非得是/usr/local/docker这个目录,根据自己的需求和喜好来就行,可自由选择
(2)创建文件和赋权
(3)编写配置文件
使用 vi 或 vim 编辑器打开mongod.conf文件
如果使用FinalShell工具,可以直接双击文件打开
添加内容
解释:
docker run:
用于创建并启动一个新的 Docker 容器。
-dit:
-d:让容器在后台运行(detached mode),即以守护进程方式运行容器。
-i:保持标准输入流打开,通常与 -t 一起使用。
-t:为容器分配一个伪终端,便于交互。
--name mongo:
为启动的容器指定一个名称,这里容器名为 mongo。
-p 17017:27017:
将主机的 17017 端口映射到容器的 27017 端口,这样主机通过 17017 端口可以访问到容器内 MongoDB 服务的 27017 端口。MongoDB 默认的端口是 27017。
-v /usr/local/docker/mongodb/config/mongod.conf:/etc/mongod.conf:
将主机的配置文件 /usr/local/docker/mongodb/config/mongod.conf 挂载到容器的 /etc/mongod.conf 位置,使容器使用主机上的配置文件来启动 MongoDB 服务。
-v /usr/local/docker/mongodb/data:/data/db:
将主机的 /usr/local/docker/mongodb/data 目录挂载到容器的 /data/db,用作 MongoDB 的数据存储位置。这样可以确保数据在容器重启时持久化。
-v /usr/local/docker/mongodb/logs:/var/log/mongodb:
将主机的 /usr/local/docker/mongodb/logs 目录挂载到容器的 /var/log/mongodb 位置,用于保存 MongoDB 的日志文件。这样日志数据不会随着容器销毁而丢失。
-e MONGO_INITDB_ROOT_USERNAME=admin:
设置 MongoDB 初始化时的 root 用户名为 admin。此用户名将在数据库首次启动时用于身份验证。
-e MONGO_INITDB_ROOT_PASSWORD=123456:
设置 MongoDB 初始化时的 root 用户密码为 123456。用于数据库身份验证。
--restart=always:
确保容器在停止或崩溃后总是自动重启。如果 Docker 服务重启或容器出现故障,容器将会自动重新启动。
mongo:
指定使用 mongo 官方镜像来启动容器。该镜像包含了最新的 MongoDB 服务。
总结:
此命令启动了一个 MongoDB 容器,并通过设置配置文件、数据目录、日志目录和初始化的用户名及密码,确保 MongoDB 在启动时以指定配置运行,同时数据和日志会持久化在主机的指定目录中。通过端口映射,MongoDB 服务可以通过主机的端口访问,容器的重启策略则确保了服务的高可用性。
MongoServerError[Unauthorized]: Command createUser requires authentication
示例
登录成功也是显示如下
提示连接成功,此时,在点击右下角“保存”按钮,即可保存连接配置,这样就可以通过Navicat去访问MongoDB数据库了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/9533.html