安装与配置MongoDB 6.0以支持远程连接

安装与配置MongoDB 6.0以支持远程连接

目录
  1. 安装curl工具
  2. 下载并导入MongoDB 6.0 PGP密钥
  3. 向APT导入MongoDB 6.0版软件包的资源链接
  4. 安装MongoDB依赖libssl1.1
  5. 安装MongoDB
  6. 启动并检查MongoDB服务状态
  7. 进入MongoDB Shell交互式执行环境
  8. 设置MongoDB开机自启
  9. 配置MongoDB允许远程连接
    • 修改MongoDB配置文件
    • 配置防火墙
    • 设置用户认证
  10. 远程连接MongoDB

1. 安装curl工具

在Ubuntu系统中新建一个终端,执行如下命令来安装curl

sudo apt install curl

2. 下载并导入MongoDB 6.0 PGP密钥

下载MongoDB 6.0版本的PGP密钥文件并检查公钥是否导入成功:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-6.0.asc

检查公钥是否导入成功:

apt-key list

3. 向APT导入MongoDB 6.0版软件包的资源链接

添加MongoDB 6.0版软件包的APT源:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

更新APT包列表:

sudo apt update

升级已安装的包(可选):

sudo apt upgrade -y

4. 安装MongoDB依赖libssl1.1

由于某些版本的MongoDB依赖于特定版本的libssl库,在Ubuntu 22.04上需要手动安装libssl1.1。执行以下命令:

echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1

5. 安装MongoDB

开始安装MongoDB:

sudo apt install -y mongodb-org

6. 启动并检查MongoDB服务状态

启动MongoDB服务并检查其状态:

sudo systemctl start mongod
sudo systemctl status mongod

如果一切正常,你会看到类似active (running)的状态信息。

7. 进入MongoDB Shell交互式执行环境

在新的终端窗口中,使用以下命令进入MongoDB Shell:

mongosh

在MongoDB Shell中,可以使用show dbs命令查看所有数据库。默认情况下,MongoDB自带三个数据库:localconfigadmin,不建议在这三个数据库中添加自己的数据表,应该创建新的数据库。

退出MongoDB Shell:

exit

或者直接按Ctrl+C组合键。

8. 设置MongoDB开机自启

为了确保MongoDB服务在系统启动时自动运行,可以使用以下命令:

sudo systemctl enable mongod

9. 配置MongoDB允许远程连接

9.1 修改MongoDB配置文件

编辑MongoDB的配置文件/etc/mongod.conf

sudo nano /etc/mongod.conf

找到bindIp设置,并将其值更改为服务器的公共IP地址或0.0.0.0以监听所有网络接口:

net:port: 27017bindIp: 0.0.0.0  # 绑定所有IP地址

保存文件并退出编辑器。

重启MongoDB服务使更改生效:

sudo systemctl restart mongod
9.2 配置防火墙

确保服务器的防火墙规则允许外部流量通过MongoDB使用的端口(默认是27017)。如果你使用的是ufw,可以添加如下规则:

sudo ufw allow 27017/tcp
9.3 设置用户认证

为了安全起见,建议启用MongoDB的访问控制并创建管理员用户。以下是简要步骤:

  • 启动无认证模式:先不要启用认证,以便我们可以创建第一个管理员用户。
  • 进入Mongo Shell
    mongosh
    
  • 切换到admin数据库
    use admin
    
  • 创建管理员用户
    db.createUser({user: "yourAdminUsername",pwd: "yourStrongPassword",roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
    })
    
  • 启用访问控制:编辑/etc/mongod.conf文件,在security部分添加或修改authorization参数以启用认证:
    security:authorization: "enabled"
    
  • 再次重启MongoDB服务
    sudo systemctl restart mongod
    

10. 远程连接MongoDB

现在,你可以在远程机器上使用MongoDB客户端(如mongosh)通过提供用户名、密码和服务器地址来连接到MongoDB实例。例如:

mongosh -u "yourAdminUsername" -p "yourStrongPassword" --host your.server.ip.address --authenticationDatabase admin

请确保替换yourAdminUsernameyourStrongPasswordyour.server.ip.address为实际的值。

注意事项
  • 确保你的MongoDB版本与提供的命令兼容。
  • 如果你在云服务提供商处托管服务器,请确保检查云服务提供商的安全组或防火墙设置,以允许入站TCP流量到达MongoDB端口。
  • 在生产环境中,考虑使用SSL/TLS加密连接,以增加安全性。

上述操作来自视频:
链接: bilibili-Ubuntu22.04版本安装MongoDB6.0全过程

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

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

相关文章

Hive其一,简介、体系结构和内嵌模式、本地模式的安装

目录 一、Hive简介 二、体系结构 三、安装 1、内嵌模式 2、测试内嵌模式 3、本地模式--最常使用的模式 一、Hive简介 Hive 是一个框架,可以通过编写sql的方式,自动的编译为MR任务的一个工具。 在这个世界上,会写SQL的人远远大于会写ja…

百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!

百度智能云千帆 AppBuilder 发版升级! 进一步降低开发门槛,落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中,企业级 RAG 和 Agent 能力再度提升,同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…

解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误

解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误 您在 Ubuntu 20.04 上编译 OpenCV 3.2 时遇到的错误与 C 标准库的头文件配置问题有关。错误消息指出系统无法找到 <stdlib.h>&#xff0c;这通常与预编译头文件的处理、GCC 版本或者头文件搜索路径有关。下面…

Swagger自动文档工具以及gin-swagger的使用

什么是 Swagger&#xff1f; Swagger 是一个开源的 API 设计和文档工具&#xff0c;旨在帮助开发者更高效地设计、构建、记录和测试 RESTful API。它基于 OpenAPI 规范&#xff08;前身为 Swagger 规范&#xff09;&#xff0c;通过自动化的方式生成交互式 API 文档、客户端 S…

网络视频监控平台/安防监控/视频综合管理Liveweb视频汇聚平台解决方案

一、当前现状分析 当前视频资源面临以下问题&#xff1a; 1&#xff09;不同单位在视频平台建设中以所属领域为单位&#xff0c;设备品牌众多&#xff0c;存在的标准不一&#xff0c;各系统之间也没有统一标准&#xff1b; 2&#xff09;各单位视频平台建设分散、统筹性差&am…

为什么要用单例模式?

‌单例模式是一种创建型设计模式&#xff0c;用于确保某个类只有一个实例&#xff0c;并提供一个全局访问点&#xff0c;使得其他类可以轻松访问该实例‌。 使用单例模式的主要原因包括以下几点&#xff1a;‌ ‌确保唯一性‌&#xff1a;在某些情况下&#xff0c;我们需要确…

c语言——数据结构【链表:单向链表】

上篇→快速掌握C语言——数据结构【创建顺序表】多文件编译-CSDN博客 一、链表 二、单向链表 2.1 概念 2.2 单向链表的组成 2.3 单向链表节点的结构体原型 //类型重定义,表示存放的数据类型 typedef int DataType;//定义节点的结构体类型 typedef struct node {union{int l…

在Linux中使用`scp`进行远程目录文件复制

在Linux系统中&#xff0c;scp&#xff08;安全复制协议&#xff09;是一个使用SSH&#xff08;安全外壳协议&#xff09;进行文件和目录安全传输的命令。它允许在远程主机之间复制文件和目录&#xff0c;具有很强的安全性&#xff0c;是一种常用的文件传输工具。以下是如何使用…

【AI图像生成网站Golang】项目测试与优化

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与优化 六、项目测试与优化 在开发过程中&#xff0c;性能优化是保证项目可扩展性和用户体验的关键步骤。本文将详细介绍我如何使用一…

Mybatis映射关系

目录 多对一 方式一&#xff1a;一条sql语句&#xff08;级连属性映射&#xff09; 方式二&#xff1a;一条sql语句&#xff08;association&#xff09; 方式三&#xff1a;两条sql语句&#xff0c;分步查询 一对多 方式一&#xff1a;collection 方式二&#xff1a;分…

单片机:实现计数器(附带源码)

一、单片机计数器功能概述 单片机中的计数器一般是由硬件定时器模块实现的&#xff0c;计数器可以被配置为不同的模式&#xff0c;例如&#xff1a; 普通计数模式&#xff1a;计数器从零开始增加&#xff0c;直到某个最大值后清零或中断。事件计数模式&#xff1a;计数器根据…

隐私清理工具Goversoft Privazer

PrivaZer 是一款专为隐私保护而生的 Windows 系统清理工具&#xff0c;支持深度扫描、清除无用文件和隐私痕迹。 PrivaZer - 深度扫描磁盘&#xff0c;自动清理上网痕迹&#xff0c;全面保护 Windows 的网络隐私 释放磁盘空间 硬盘空间告急&#xff0c;想清理却又无从下手&…

基于Spring Boot的医院质控上报系统

一、系统背景与意义 医院质控上报系统旨在通过信息化手段&#xff0c;实现医院质量控制的标准化、流程化和自动化管理。该系统能够帮助医院实时监控医疗质量数据&#xff0c;及时发现和处理潜在的质量问题&#xff0c;从而确保医疗服务的安全性和有效性。同时&#xff0c;系统…

Java-30 深入浅出 Spring - IoC 基础 启动IoC 纯XML启动 Bean、DI注入

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

Python-基于Pygame的小游戏(坦克大战-1.0(世界))(一)

前言:创作背景-《坦克大战》是一款经典的平面射击游戏&#xff0c;最初由日本游戏公司南梦宫于1985年在任天堂FC平台上推出。游戏的主题围绕坦克战斗&#xff0c;玩家的任务是保卫自己的基地&#xff0c;同时摧毁所有敌人的坦克。游戏中有多种地形和敌人类型&#xff0c;玩家可…

多核并发编译引起的编译错误

编译某个模型的工程化代码&#xff0c;模型里有多个算子使用了tensorrt plugin方式实现的&#xff0c;编译时总是报插件相关的目标文件找不到: CMake Error at /opt/conda/share/cmake-3.22/Modules/FindCUDA/make2cmake.cmake:48 (file):file failed to open for reading (No…

【达梦数据库】Coredump文件生成与分析

目录 背景参考链接分析Coredump文件获取问题SQL1、查看Coredump文件生成路径2、使用gdb工具读取Coredump文件3、记录崩溃线程堆栈4、记录当前崩溃线程号5、使用dmrdc工具分析Coredump文件6、寻找线程号对应SQL7、重新执行SQL&#xff0c;复现问题 记录Coredump文件中所有线程的…

【爬虫一】python爬虫基础合集一

【爬虫一】python爬虫基础合集一 1. 网络请求了解1.1. 请求的类型1.2. 网络请求协议1.3. 网络请求过程简单图解1.4. 网络请求Headers(其中的关键字释义)&#xff1a;请求头、响应头 2. 网络爬虫的基本工作节点2.1. 了解简单网络请求获取响应数据的过程所涉及要点 1. 网络请求了…

基于SCUI的后台管理系统

一、SCUI Admin 官方地址&#xff1a;https://python-abc.xyz/scui-doc/ 高性能中后台前端解决方案&#xff0c;基于 Vue3、elementPlus 持续性的提供独家组件和丰富的业务模板帮助你快速搭建企业级中后台前端任务。 预览地址&#xff1a;https://python-abc.xyz/scui-doc/de…

vscode不同的项目使用不同的环境变量或编译环境

转载请标明出处&#xff1a;小帆的帆的博客 假如电脑中安装的两套C编译环境&#xff0c;想要切换编译环境时可以在操作系统的环境变量中调整顺序&#xff0c;然后排在前面的环境就会被使用。 这样做的弊端&#xff1a; 麻烦容易忘&#xff0c;忘了项目不报错就可能就不会发现…