ubuntu20.04服务器搭建mongodb7

安装参考自mongo官网:在 Ubuntu 上安装 MongoDB Community Edition - MongoDB 手册 v7.0

MongoDB 版本

本教程安装的是 MongoDB 7.0 Community Edition。想要安装不同版本的 MongoDB Community Edition,请移步本页面左上角的版本下拉菜单,选择该版本对应的文档进行参照。

注意事项

平台支持

MongoDB 7.0 社区版支持以下采用 64 位 架构的 x86_64 Ubuntu LTS(长期支持)版本:

  • 22.04 LTS ("Jammy")

  • 20.04 LTS ("Focal")

MongoDB 仅支持这些平台的 64 位版本。要确定您的主机当前正在运行的 Ubuntu 版本,请在主机的终端上运行以下命令:

 
cat /etc/lsb-release

Ubuntu 上的 MongoDB 7.0 社区版还支持某些平台上的 ARM64 架构。

更多信息,请参阅平台支持。

生产说明

在生产环境部署 MongoDB 之前,请考虑生产环境说明文档,其中提供了有关生产环境中 MongoDB 部署的性能注意事项和配置建议。

官方 MongoDB 软件包

要在 Ubuntu 系统上安装 MongoDB Community,以下说明将使用由 MongoDB Inc. 维护和支持的官方 mongodb-org 软件包。官方 mongodb-org 软件包始终包含最新版本的 MongoDB,并且可以从其专用存储库中获取。

重要

Ubuntu 提供的mongodb 包并不由 MongoDB Inc. 维护,且与官方的 mongodb-org 包冲突。如果您已在您的 Ubuntu 系统上安装了 mongodb 包,则必须先卸载 mongodb 包,才能继续执行这些操作。

请参阅MongoDB Community Edition软件包,获取官方软件包的完整清单。

安装 MongoDB Community Edition

按照以下步骤使用 apt 软件包管理器安装 MongoDB Community Edition。

1

导入包管理系统使用的公钥

从终端安装 gnupg 和 curl(如果尚未安装):

 
sudo apt-get install gnupg curl

要导入 MongoDB 公共 GPG 密钥,请运行以下命令:

 
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor

2

为 MongoDB 创建列表文件

为您的 Ubuntu 版本创建列表文件 /etc/apt/sources.list.d/mongodb-org-7.0.list

Ubuntu 22.04 (Jammy)

Ubuntu 20.04 (Focal)

为 Ubuntu 20.04 (Focal) 创建/etc/apt/sources.list.d/mongodb-org-7.0.list文件:

 
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

3

重新加载本地包数据库

发出以下命令以重新加载本地软件包数据库:

 
sudo apt-get update

4

安装 MongoDB 软件包

您可以安装最新稳定版本的 MongoDB 或指定版本的 MongoDB。

安装最新版本的 MongoDB

安装特定版本的 MongoDB

要安装最新的稳定版本,请执行以下命令:

 
sudo apt-get install -y mongodb-org

可选。虽然您可以指定任意可用版本的 MongoDB,但当有新版本可用时,apt-get 仍会升级这些包。要防止意外升级,可将此包固定到当前安装的版本:

 
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-database hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

在 Ubuntu 中安装 MongoDB 时,如需对过程中遇到的错误进行故障排查,请参阅故障排查指南。

运行 MongoDB Community Edition

ulimit 注意事项

大多数类 Unix 操作系统都会对每个进程可以使用的系统资源进行限制。这些限制可能会对 MongoDB 操作产生负面影响,应进行适当调整。有关您平台的建议设置,请参阅 UNIX ulimit 设置 。

注意

如果打开文件数的 ulimit 值低于 64000,MongoDB 会生成初创企业警告。

目录

如果通过软件包管理器安装,则在安装过程中会创建数据目录 /var/lib/mongodb 和日志目录 /var/log/mongodb

默认情况下,MongoDB 使用 mongodb 用户账户运行。如果更改运行 MongoDB 进程的用户,您还必须修改数据和日志目录以赋予该用户访问这些目录的权限。

配置文件

MongoDB 官方软件包有一份配置文件 (/etc/mongod.conf)。这些设置(如数据目录和日志目录规范)将在启动时生效。换言之,如果在 MongoDB 实例运行时更改该配置文件,则必须重新启动实例才能使更改生效。

步骤

请按照以下步骤在系统上运行 MongoDB 社区版。 这些说明假定您使用的是官方 mongodb-org 包,而不是由 Ubuntu 提供的非官方 mongodb 包,并且您使用的是默认设置。

初始化系统

要运行和管理 mongod 进程,需使用操作系统内置的初始化系统。较新版本的 Linux 倾向于使用 systemd(它会使用 systemctl 命令),而较旧版本的 Linux 倾向于使用 System V init(它使用 service 命令)。

如果您不确定您的平台使用的是哪个初始化系统,请运行以下 命令:

 
ps --no-headers -o comm 1

然后根据结果选择下面合适的标签页:

  • systemd - 选择下方的 systemd (systemctl) 标签页。

  • init - 选择下方的 System V Init (service) 标签页。

systemd (systemctl)

System V Init (service)

1

启动 MongoDB。

您可以通过发出以下命令来启动 mongod 进程:

 
sudo systemctl start mongod

如果收到类似下方的错误(在启动 mongod 时):

Failed to start mongod.service: Unit mongod.service not found.

首先运行以下命令:

 
sudo systemctl daemon-reload

然后再次运行上面的启动命令。

2

验证 MongoDB 是否已成功启动。
 
sudo systemctl status mongod

您可以通过选择执行以下命令,来确保 MongoDB 将在系统 重新启动后启动:

 
sudo systemctl enable mongod

3

停止 MongoDB。

您可以根据需要,通过发出以下命令来停止 mongod 进程:

 
sudo systemctl stop mongod

4

重启 MongoDB。

您可以通过发出以下命令来重启 mongod 进程:

 
sudo systemctl restart mongod

通过观察 /var/log/mongodb/mongod.log 文件中的输出,可以跟踪错误或重要消息的进程状态。

5

开始使用 MongoDB。

在与 相同的主机上启动 会话。您可以在不使用任何命令行选项的情况下运行 mongosh,从而连接在本地主机上运行且默认端口号为 27017 的 mongod。

 
mongosh

如需进一步了解使用 mongosh 进行连接(例如连接在其他主机和/或端口上运行的 mongod 实例),请参阅 mongosh 文档。

为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的入门指南。关于驱动程序文档,请参阅 开始使用 MongoDB 开发。

卸载 MongoDB Community Edition

要从系统中完全删除 MongoDB,您必须删除 MongoDB 应用程序本身、配置文件以及任何包含 数据和日志的目录。以下部分将指导您完成所需的步骤。

警告

此过程将完全删除 MongoDB、其配置以及所有数据库。此过程不可逆,因此请确保在继续之前备份所有配置和数据。

1

停止 MongoDB。

通过发出以下命令来停止 mongod 进程:

 
sudo service mongod stop

2

删除包。

删除您之前安装的所有 MongoDB 包。

 
sudo apt-get purge "mongodb-org*"

3

删除数据目录。

删除 MongoDB 数据库和日志文件。

 
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

更多信息

默认绑定本地主机

默认情况下,MongoDB 启动时会将bindIp设置为127.0.0.1 ,绑定到本地主机网络接口。这意味着mongod只能接受来自同一计算机上运行的客户端的连接。远程客户端将无法连接到mongod ,并且mongod将无法初始化副本集,除非将此值设置为可从远程客户端访问的有效网络接口。

该值可通过以下任一方式配置:

  • 在 MongoDB 配置文件中使用 bindIp,或

  • 通过命令行参数 --bind_ip

警告

将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅安全检查清单。至少应考虑强化网络基础设施和启用身份验证

有关配置 bindIp 的更多信息,请参阅 IP 绑定。

MongoDB 社区版包

MongoDB Community Edition 可从其专用 存储库获取,并包含以下官方支持的包:

包名称

说明

mongodb-org

自动安装下列组件包的 metapackage

mongodb-org-database

自动安装下列组件包的 metapackage

包名称

说明

mongodb-org-server

包含 mongod 守护程序、相关的初始化脚本和配置文件 (/etc/mongod.conf)。您可以使用初始化脚本启动mongod与配置文件。有关详细信息,请参阅上面的“运行 MongoDB 社区版”部分。

mongodb-org-mongos

包含 mongos 守护程序。

mongodb-mongosh

包含 MongoDB Shell (mongosh)。

mongodb-org-tools

自动安装下列组件包的 metapackage

包名称

说明

mongodb-database-tools

包含以下 MongoDB 数据库工具:

  • mongodump

  • mongorestore

  • bsondump

  • mongoimport

  • mongoexport

  • mongostat

  • mongotop

  • mongofiles

mongodb-org-database-tools-extra

包含 install_compass 脚本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu递归下载deb安装包,解决离线依赖问题

ubuntu递归下载安装包 主要针对离线环境的电脑安装deb包。 将下面的build-essential换成自己需要安装的包,虽然下面代码会递归下载依赖安装包,但是在离线环境下仍然可能会出现依赖包为配置问题。 因此,根据报错,手动递归下载报错…

【SQL 新手教程 1/20】SQL语言MySQL数据库 简介

💗 什么是SQL?⭐ (Structured Query Language) 结构化查询语言,是访问和处理关系数据库的计算机标准语言 无论用什么编程语言(Java、Python、C……)编写程序,只要涉及到操作关系数据库都必须通过SQL来完成 …

4招清洁法,清理电脑无死角,焕然一新效率高

随着时间的积累,电脑内部可能会堆积起大量的垃圾文件、缓存数据和无用程序。因此,定期清理电脑是很有必要的。为了让你的电脑重新焕发生机,提高工作效率,本文将为你介绍4招实用的清洁法,助你轻松清理电脑死角&#xff…

js 数组常用函数总结

目录 1、push 2、unshif 3、pop 4、shift 5、concat 6、slice 7、splice 8、join 9、indexOf 10、lastIndexOf 11、forEach 12、map 13、filter 14、reduce 15、sort 16、reverse 17、includes 18、some 19、every 20、toString 21.、find 22、findLast 23、…

JavaWeb学习——请求响应、分层解耦

目录 一、请求响应学习 1、请求 简单参数 实体参数 数组集合参数 日期参数 Json参数 路径参数 总结 2、响应 ResponseBody&统一响应结果 二、分层解耦 1、三层架构 三层架构含义 架构划分 2、分层解耦 引入概念 容器认识 3、IOC&DI入门 4、IOC详解 …

Cadence23学习笔记(十四)

ARC就是圆弧走线的意思: 仅打开网络的话可以只针对net进行修改走线的属性: 然后现在鼠标左键点那个走线,那个走线就会变为弧形: 添加差分对: 之后,分别点击两条线即可分配差分对: 选完差分对之后…

微服务实践和总结

H5原生组件web Component Web Component 是一种用于构建可复用用户界面组件的技术&#xff0c;开发者可以创建自定义的 HTML 标签&#xff0c;并将其封装为包含逻辑和样式的独立组件&#xff0c;从而在任何 Web 应用中重复使用。 <!DOCTYPE html> <html><head…

css in js 相比较 css modules 有什么好处?

CSS-in-JS 和 CSS Modules 都是用于管理 React 组件样式的流行方案&#xff0c;它们各有优势。相比 CSS Modules&#xff0c;CSS-in-JS 的主要好处包括: 动态样式&#xff1a;CSS-in-JS 可以轻松创建基于 props 或状态的动态样式&#xff0c;更灵活地处理复杂的样式逻辑。 无需…

【vue3|第18期】Vue-Router路由的三种传参方式

日期:2024年7月17日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.408…

EtherNet/IP网络基础

EtherNet/IP&#xff08;Ethernet Industrial Protocol&#xff09;是一种用于工业自动化的通信协议&#xff0c;基于以太网技术。它允许设备和控制系统之间进行高效的数据交换和通信。以下是EtherNet/IP网络的基础知识。 1. 什么是EtherNet/IP&#xff1f; EtherNet/IP是由O…

ctfshow SSTI注入 web369--web372

web369 这把request过滤了&#xff0c;只能自己拼字符了 ""[[__clas,s__]|join] 或者 ""[(__clas,s__)|join] 相当于 ""["__class__"]举个例子&#xff0c;chr(97) 返回的是字符 a&#xff0c;因为 97 是小写字母 a 的 Unicode 编码…

go操作aws s3

v2 官方推荐版本&#xff0c;需要go版本>1.20 安装 go get github.com/aws/aws-sdk-go-v2 go get github.com/aws/aws-sdk-go-v2/config go get github.com/aws/aws-sdk-go-v2/service/s3必要参数 bucket: 存储桶的名称 Region: 存储桶所在区域,例us-east-1 accessKey…

PHP运算符

PHP 运算符是用于执行各种操作&#xff08;如算术运算、比较、逻辑运算、字符串连接等&#xff09;的符号。在 PHP 中&#xff0c;运算符的命名主要是基于它们的功能和用法&#xff0c;而不是像变量或函数那样可以自定义名称。以下是一个关于 PHP 运算符的详细教程&#xff0c;…

unity2D游戏开发01项目搭建

1新建项目 选择2d模板,设置项目名称和存储位置 在Hierarchy面板右击&#xff0c;create Empty 添加组件 在Project视图中右键新建文件夹 将图片资源拖进来&#xff08;图片资源在我的下载里面&#xff09; 点击Player 修改属性&#xff0c;修好如下 点击Sprite Editor 选择第二…

Angular由一个bug说起之八:实践中遇到的一个数据颗粒度的问题

互联网产品离不开数据处理&#xff0c;数据处理有一些基本的原则包括&#xff1a;准确性、‌完整性、‌一致性、‌保密性、‌及时性。‌ 准确性&#xff1a;是数据处理的首要目标&#xff0c;‌确保数据的真实性和可靠性。‌准确的数据是进行分析和决策的基础&#xff0c;‌因此…

【目标检测】非极大值抑制(Non-Maximum Suppression, NMS)步骤与实现

步骤 置信度排序&#xff1a;首先根据预测框的置信度&#xff08;即预测框包含目标物体的概率&#xff09;对所有预测框进行降序排序。选择最佳预测框&#xff1a;选择置信度最高的预测框作为参考框。计算IoU&#xff1a;计算其他所有预测框与参考框的交并比&#xff08;Inter…

【数据结构】建堆算法复杂度分析及TOP-K问题

【数据结构】建堆算法复杂度分析及TOP-K问题 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;数据结构 文章目录 【数据结构】建堆算法复杂度分析及TOP-K问题前言一.复杂度分析1.1向下建堆复杂度1.2向上建堆复杂度1.3堆排序复杂度 二.TOP-K问…

深度学习1-简介

人工智能&#xff08;AI&#xff09;旨在打造模仿智能行为的系统。它覆盖了众多方法&#xff0c;涵盖了基于逻辑、搜索和概率推理的技术。机器学习是 AI 的一个分支&#xff0c;它通过对观测数据进行数学模型拟合来学习决策制定。这个领域近年来迅猛发展&#xff0c;现在几乎&a…

前端地位蹭蹭蹭Up!!!

作者&#xff1a;溪饱鱼 链接&#xff1a;juejin.cn/post/7283642910301192244 顺便吆喝一句&#xff0c;如果你本科学历&#xff0c;对技术大厂有向往&#xff0c;对前后端测试岗位有兴趣&#xff0c;不对大厂外包有100%的排斥&#xff0c;可以看看这里&#xff0c;薪酬待遇确…

Ruby语言详解

Ruby语言详解 Ruby&#xff0c;作为一种简单快捷的面向对象脚本语言&#xff0c;自20世纪90年代由日本人松本行弘&#xff08;Yukihiro Matsumoto&#xff09;开发以来&#xff0c;便以其独特的魅力和强大的功能赢得了全球开发者的青睐。Ruby不仅继承了Perl、Smalltalk、Eiffe…