在 Ubuntu 20.04 上安装 Mongodb 时出现问题

2023-12-14

将提供快速背景信息。我严格遵守手册:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

  1. wget -qO -https://www.mongodb.org/static/pgp/server-4.4.asc| sudo apt-key 添加 -
  2. echo "deb [ arch=amd64,arm64 ]https://repo.mongodb.org/apt/ubuntufocus/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  3. sudo apt-get 更新
  4. sudo apt-get install -y mongodb-org
  5. sudo systemctl 启动 mongod
  6. sudo systemctl 状态 mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-11-12 03:11:07 EET; 1min 8s ago
Docs: https://docs.mongodb.org/manual
Process: 6780 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
Main PID: 6780 (code=exited, status=14)
systemd[1]: Started MongoDB Database Server.
systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
systemd[1]: mongod.service: Failed with result 'exit-code'.
  1. mongo
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

然后尝试使用以下命令修复此 status=14/n/a:

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock

和其他东西

然后删除 mongodb:

sudo apt-get purge mongodb-org*
sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

并以与上面相同的方式安装它,得到相同的结果。我需要帮助。

这就是etc/mongod.conf

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

这是来自 var/log/mongodb/mongod.log 的 mongod 日志,该文件有 550 行,我只复制了最后一个日志:

{"t":{"$date":"2020-11-12T15:30:35.643+02:00"},"s":"W",  "c":"CONTROL",  "id":20698,   "ctx":"main","msg":"***** SERVER RESTARTED *****","tags":["startupWarnings"]}
{"t":{"$date":"2020-11-12T15:30:35.645+02:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2020-11-12T15:30:35.655+02:00"},"s":"W",  "c":"ASIO",     "id":22601,   "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
{"t":{"$date":"2020-11-12T15:30:35.655+02:00"},"s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2020-11-12T15:30:35.656+02:00"},"s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":9759,"port":27017,"dbPath":"/var/lib/mongodb","architecture":"64-bit","host":"lubo"}}
{"t":{"$date":"2020-11-12T15:30:35.656+02:00"},"s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.1","gitVersion":"ad91a93a5a31e175f5cbf8c69561e788bbc55ce1","openSSLVersion":"OpenSSL 1.1.1f  31 Mar 2020","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2004","distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2020-11-12T15:30:35.656+02:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"20.04"}}}
{"t":{"$date":"2020-11-12T15:30:35.656+02:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"config":"/etc/mongod.conf","net":{"bindIp":"127.0.0.1","port":27017},"processManagement":{"timeZoneInfo":"/usr/share/zoneinfo"},"storage":{"dbPath":"/var/lib/mongodb","journal":{"enabled":true}},"systemLog":{"destination":"file","logAppend":true,"path":"/var/log/mongodb/mongod.log"}}}}
{"t":{"$date":"2020-11-12T15:30:35.657+02:00"},"s":"F",  "c":"STORAGE",  "id":50922,   "ctx":"initandlisten","msg":"An incomplete repair has been detected! This is likely because a repair operation unexpectedly failed before completing. MongoDB will not start up again without --repair."}
{"t":{"$date":"2020-11-12T15:30:35.657+02:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":50922,"file":"src/mongo/db/storage/storage_engine_init.cpp","line":86}}
{"t":{"$date":"2020-11-12T15:30:35.657+02:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}

更新 ATM 我这次尝试根据 stackoverflow 的指南再次重新安装:

  1. sudo apt-get install --重新安装 mongodb (有错误 - 处理时遇到错误)
  2. sudo systemctl 守护进程重新加载
  3. sudo apt 更新/升级
  4. sudo apt安装mongodb (以下软件包已自动安装,不再需要)
  5. sudo apt 自动删除
  6. sudo systemctl 状态 mongodb (主进程已退出,代码=已退出,状态=100/n/a)
  7. 须藤蒙戈
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("667c92c8-0a10-4adb-bcf6-ba045f280034") }
MongoDB server version: 3.6.8
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] 
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] 
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] 
  1. sudo apt-get 安装 libc6 (libc6已经是最新版本(2.31-0ubuntu9.1))
  2. sudo systemctl 状态 mongod
 mongod.service
     Loaded: not-found (Reason: Unit mongod.service not found.)
     Active: active (running) since Thu 2020-11-12 17:33:37 EET; 7min ago
   Main PID: 16038 (mongod)
     CGroup: /system.slice/mongod.service
             └─16038 /usr/bin/mongod --config /etc/mongod.conf

ное 12 17:33:37 lubo systemd[1]: Started MongoDB Database Server.
ное 12 17:34:03 lubo systemd[1]: mongod.service: Current command vanished from the unit file, execution of the command list won't be resumed.

现在我相信我们已经工作了 mongodb,只需将它与 mongod.service 连接


首先删除 mongodb 的所有 PPA 存储库,然后:

sudo apt-get purge mongodb-org*
sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get upgrade
sudo apt update
sudo apt upgrade
sudo apt-get install -y mongodb-org
sudo apt-get install libc6
sudo service mongod start
sudo service mongod status

这帮助我解决了这个问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 20.04 上安装 Mongodb 时出现问题 的相关文章

  • Mongodb upsert 嵌入文档

    我每天每米有一份文件 如果它不存在 如何在数据数组中添加另一个子文档并创建整个文档 key 20120418 123456789 data Meter 123456789 Dt ISODate 2011 12 29T16 00 00 0Z
  • 如何找到 Inno Setup 可用的任务和任务名称

    如果我想通过命令行使用其 exe 文件安装程序 那么我知道我可以使用以下命令更改默认选项 TASKS切换 但如何找出可用的任务以及它们各自的任务名称是什么 我知道我可以运行安装程序并使用 SAVEINF开关将使用的设置保存到文件中 文件的底
  • Python Shapely 安装不起作用?

    有什么想法吗 我尝试卸载 Shapely 并使用 PIP 安装 我有 Anaconda 并安装了 Fiona 很好 Shapely 看起来也很好 简单代码 import fiona import shapely dirVar C Users
  • 聚合和展开数组,但保留顶级键

    假设我的收藏中有以下文档Classes收藏家 id ObjectId 5df58d45244a850d54b922c8 mentors numOfMentors NumberInt 1 mentorList ObjectId 5c9ba63
  • 如何在Mongodb java驱动程序中编写多个group by id字段

    在下面的查询中 group id success success responseCode responseCode label label max timeStamp timeStamp 1 count responseCode sum
  • 避免 Inno Setup 中的“无法展开 shell 文件夹常量 userdocs”错误

    我将一些示例文档安装到 Windows 上标准 我的文档 文件夹的 PerfectTablePlan 子文件夹中 这对于 99 以上的用户来说效果很好 但是 如果用户没有 我的文档 文件夹 我会收到许多以下形式的丑陋错误消息 内部错误 无法
  • Mongodb 限制聚合查询中的数组

    我正在尝试编写一个查询来返回每个类别中的前 X 个术语 例如前 5 个 前 10 个等 每个术语都有一个关联的类别 并且基于另一个术语的帮助堆栈溢出问题 https stackoverflow com questions 25666187
  • 如何在没有objectid字段的mongodb集合上查找上次更新/插入/删除操作时间

    我在 MongoDb 数据库中有一些未使用的集合 我必须找出对数据库中的集合执行 CRUD 操作的时间 我们有自己的 id字段 而不是mongo默认的object id 我们没有任何时间在集合中归档以找出修改时间 有没有办法从元数据中找出m
  • 如何与静默安装的 msi 交互? (进度数据并取消)

    由于某种原因 我们正在提供带有我们自己的安装 GUI 的产品 这意味着我们将在后台静默运行 msi 安装 通过使用 MSI API MsiInstallProduct 我可以静默安装该产品 但我不知道如何获取此安装的进度数据以及如何取消它
  • 如何验证 ObjectID

    使用 Joi 模式验证 是否可以针对 MongoDB ObjectID 进行验证 像这样的事情可能很棒 id Joi ObjectId required error errorParser 我发现如果我这样做 Joi object id J
  • 安装引导程序如何检测是否安装了先决条件?

    试图解决这个问题 https stackoverflow com questions 2591384 bootstrapper setup exe says net 3 5 not found but launching msi direc
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • PHP 中的 MongoDB - 如何将项目插入集合中的数组中?

    这必须很容易 但我似乎无法弄清楚 假设我有一个集合users这是集合中的第一项 id ObjectId 4d8653c027d02a6437bc89ca name Oscar Godson email email protected cdn
  • VS 2015 SSDT 安装失败

    我的计算机上安装了 Microsoft Visual Studio Professional 2015 还安装了 SQL Server 2017 我正在尝试在我的计算机上安装用于 BI 项目的 SQL Server 开发工具 我尝试安装 S
  • 在 Sublime Text 3 中安装多个包

    在 Sublime Text 3 中安装软件包时 我是否可以从列表中勾选所有我想要的软件包 然后一次性安装它们 或者对于我想要安装的每个软件包 我是否必须单击 首选项 gt 软件包控制 gt 安装软件包 例如 Notepad 有一个很好的带
  • 获取对象数组中每个嵌套对象的虚拟属性?

    所以我知道如何获取单个虚拟属性 如 Mongoose 文档中所述 PersonSchema virtual name full get function return this name first this name last 但如果我的
  • Python 3.6.1 安装位置

    我在 Ubuntu 16 服务器上安装了 Python 3 6 1 但找不到安装位置 我查看了 usr bin 其中提到了除 3 6 1 之外的所有其他版本 在哪里可以找到该版本的可执行文件 使用命令 whereis python3 6 1
  • 匹配包含 MongoDB 中提供的数组的任意组合的数组字段

    我想使用指定的数组元素列表进行查询 以便返回的文档只能包含我传递的元素 但不需要包含所有元素 鉴于以下文件 name Article 1 tags Funny Rad name Article 2 tags Cool Rad name Ar
  • 调用 Mongoose 插件内模式的静态方法

    我写了一个插件 可以执行以下操作 module exports function schema options schema statics customFunction function criteria Code 这是我的架构 var
  • 是否有一个好的开源 MongoDB 队列 C# 驱动程序实现

    并不是说编写一个程序不够容易 或有趣 可以说 不重新发明轮子是有道理的 我已经浏览了各种尝试 但我似乎还没有遇到支持这些标准的实现 具有MongoDB持久化的简单队列OSS系统 基于 C 驱动程序 官方 如此完整的 POCO 序列化 可尾游

随机推荐

  • 使用 CSS 旋转内联元素

    我意识到已经有很多这样的问题了 但我似乎无法让它们为我工作 因为大多数解决方案都针对 第 n 个孩子 或 以我极其 新手 的技能 我只是不明白它是如何工作的 我正在尝试为一项任务制作一个 交易或不交易 游戏 我花了太多时间让它看起来不错 这
  • WPF控件创建过程的步骤

    我已经寻找这样的解释有一段时间了 但我还没有找到任何解释 问题是我想知道 Wpf 控件的初始化 创建过程的步骤 让我们看一个简单的按钮 我想知道当调用构造函数时发生了什么 何时将控件添加到视觉树 逻辑树 何时调用依赖属性值 何时调用Appl
  • Phonegap触摸事件

    我的问题是我想从首页 index html 播放音频 视频文件 它的工作原理是这样的 function setaudio aud prepend a href img src icons audio file png alt Audioda
  • 删除存储在数组中的特定类对象[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我的代码有问题 我想知道是否有人可以看一下 我创建了一
  • 如何为旧的 Angular 项目提供服务?

    我试图ng serve第三方框架中包含的 Angular 示例项目 从其示例项目来看 它需要 Angular v 4package json文件 我的全局 CLI 版本是 6 0 8 该项目不包括node modules文件夹也不是angu
  • 将 PList 中的数据获取到 UITableView 中?

    我想维护一个记录列表 对于每条记录 我都维护相同类型的数据 我想在两个不同的地方使用这些数据 UITableView从每条记录中获取 名称 值 UIViewController这需要所有数据在不同领域使用 我认为我应该使用 plist 来存
  • 删除值时输入掩码不起作用

    我构建了一个函数来在键入时屏蔽输入 它工作正常 但是当删除输入中的值时 屏蔽的行为很奇怪 function App const phone setPhone React useState function maskPhone target
  • 替换dom元素中的所有字符串

    我有一个像这样的 DOM table style display none tr td td tr table
  • 使用 matplotlib 颜色图进行颜色循环

    如果我通过以下方式创建颜色 import numpy as np from matplotlib import pyplot as plt n 6 color plt cm coolwarm np linspace 0 1 0 9 n co
  • 在双精度数组上使用 unordered_map

    我的主要数据对象是一个双精度数组 其长度取决于我的类的特定实例 我想构造一个非常简单的哈希表来存储 检索这些对象 并且我们可以假设这些数字是以没有数字错误的方式生成的 int main std tr1 unordered map
  • 使用 Java 原子类进行模块化增量

    令我惊讶的是 Java 的 AtomicInteger 和 AtomicLong 类没有模块化增量的方法 以便在达到限制后值回绕到零 我想我一定错过了一些明显的东西 最好的方法是什么 例如 我想在线程之间共享一个简单的 int 并且我希望每
  • 在javascript中获取primefaces widgetVar并更新它

    我有一个像这样的 primefaces 组件
  • 释放临时过期的配置

    抱歉我的英语不好 但我是意大利人 我必须发布一个只能在少数设备上运行的应用程序 当配置文件过期时我应该做什么 该应用程序会继续工作吗 还是我应该使用更新后的配置文件再次发布它 thx all 不 该应用程序在 mobileprovision
  • 将带有 NULL entres 的列表转换为 R 中的 data.frame

    我有一个名为z z lt list list a 1 b 2 list a 2 b 3 list a NULL b 4 我希望将其转换为带有相应的 data framea条目在data frame分配为NULL 这样做 do call rb
  • Unobtrusive Ajax 在将 jQuery 更新到 1.9.0 后停止工作

    我刚刚将 jQuery 和 jQuery UI 更新为 jquery 1 9 0 min js 和 jquery ui 1 9 2 min js 而且 我所有不显眼的 Ajax 调用 Ajax ActionLink Ajax BeginFo
  • 从 pom.xml 为现有 Maven 项目创建 WAR 文件

    我正在创建一个 Web 项目 有人告诉我它必须驻留在现有 Maven 项目的资源目录中 这是项目的结构 MavenProject src main resources My Web Project META INF MANIFEST MF
  • 处理XSS的方法(最佳实践)是什么?

    我正在使用 ASP NET 并且 ASP NET 页面上有 validate 属性 用于检查 XSS 验证 但我想知道这真的足够吗 我访问了 stackoverflow 上的一些相关帖子 这对我有帮助 但我想了解在开发网站时如何规划 XSS
  • localStorage 适用于桌面设备,但不适用于移动设备(iOS 版本 12.2)

    我使用 React 创建了一个简单的 Todos 应用程序 并实现了localStorage为了在页面刷新之间保留数据 实现是这样的 loadStateFromLocalStorage for let key in this state i
  • 使用 mlogit R 函数时出错:“这两个索引没有定义唯一的观察结果”

    我的数据集看起来像这样 ID choice situation Alternative Attr1 Attr2 Attr3 choice ID 1 1 1 0 0 0 0 ID 1 1 2 1 1 0 1 ID 1 2 1 1 1 0 0
  • 在 Ubuntu 20.04 上安装 Mongodb 时出现问题

    将提供快速背景信息 我严格遵守手册 https docs mongodb com manual tutorial install mongodb on ubuntu wget qO https www mongodb org static