如何阻止 ejabberd 使用 mnesia [关闭]

2024-01-12

我正在尝试建立一个将数据库从崩溃的服务器恢复到新服务器的过程。我的服务器正在运行 Ejabberd 作为 XMPP 服务器,并且我将其配置为使用 postgresql 而不是 mnesia - 或者我是这么认为的。

我的过程类似于“转储原始数据库的内容,运行新服务器,使用 psql 恢复数据库的内容,然后运行系统”。然而,当我再次尝试运行 Ejabberd 时,我遇到了崩溃:

=CRASH REPORT==== 3-Dec-2010::22:05:00 ===
  crasher:
    pid: <0.36.0>
    registered_name: []
    exception exit: {bad_return,{{ejabberd_app,start,[normal,[]]},
                                 {'EXIT',"Error reading Mnesia database"}}}
      in function  application_master:init/4

在这里,我以为我的系统运行在 PostgreSQL 上,而看起来我仍在使用 Mnesia。我有几个问题:

  1. 我如何确保没有使用 mnesia?
  2. 如何将所有 ejabberd 活动转移到 PGSQL?

这是我的 ejabberd.cfg 文件中的模块部分:

{modules,
 [
  {mod_adhoc,    []},
  {mod_announce, [{access, announce}]}, % requires mod_adhoc
  {mod_caps,     []},
  {mod_configure,[]}, % requires mod_adhoc
  {mod_ctlextra, []},
  {mod_disco,    []},
  {mod_irc,      []},
  {mod_last_odbc,     []},
  {mod_muc,      [
      {access, muc},
      {access_create, muc},
      {access_persistent, muc},
      {access_admin, muc_admin},
      {max_users, 500}
     ]},
  {mod_offline_odbc,  []},
  {mod_privacy_odbc,  []},
  {mod_private_odbc,  []},
  {mod_pubsub,   [ % requires mod_caps
      {access_createnode, pubsub_createnode},
      {plugins, ["default", "pep"]}
     ]},
  {mod_register, [
      {welcome_message, none},
      {access, register}
     ]},
  {mod_roster_odbc,   []},
  {mod_stats,    []},
  {mod_time,     []},
  {mod_vcard_odbc,    []},
  {mod_version,  []}
 ]}.

我缺少什么?

我假设崩溃是由于 Ejabberd 使用 mnesia DB 造成的,并且由于它与 PGSQL DB 不同步,因此它无法正确运行 - 但也许我完全偏离了轨道,并且希望得到一些指导。

EDIT: 解决了一个问题。由于我使用的是亚马逊云,我需要对 ERLANG_NODE 进行硬编码,这样它就不会由主机名定义(主机名会在重新启动时更改)。这让我的 ejabberd 运行起来,但我仍然希望停止使用 mnesia,我想知道 ejabberd 的哪一部分仍在使用它以及我如何找到它。


上周我个人对 ejabberd 有了一些了解。

如果您正在运行 mnesia 以外的任何数据库,那么并非您运行的所有模块实际上都会与其通信。

例如,即使您已将服务器配置为与 postgress 一起使用,mod_admin_extra 将继续与 mnesia 数据库一起使用。因此,如果您通过 mod_admin_extra 提供的额外命令(和其他模块)执行大量添加/删除名册/用户操作,那么您将不得不找到其他方法来完成此操作。

基本上,没有办法让 ejabberd 完全停止使用 mnesia 数据库,它总是使用它进行某种处理。

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

如何阻止 ejabberd 使用 mnesia [关闭] 的相关文章

  • Phoenix/Elixir/Ejabberd - 响应已发送错误

    我正在按照本指南将 Ejabberd 嵌入 Phoenix 应用程序 https blog process one net embedding ejabberd into an elixir phoenix web application
  • 如何通过 HTTP 访问 ejabberd admin api?

    我读到了有关该文档的内容https docs ejabberd im admin api 我想知道如何通过 HTTP 访问这些 API 我尝试访问 但总是404 在你的 ejabberd yml 中你可以找到这样的配置 port 5280
  • XMPP C# 交互

    我正在尝试通过 c 和 javascript 连接到 xmpp 服务器 当前为 ejabberd 我在概念化连接如何存在方面遇到了一些困难 背景故事 我有一个游戏引擎 它将接受用户的输入并向他们发送某种响应 用户可能是 Windows 应用
  • 将 XMPP 集成到 Rails 需要什么?

    这是我到目前为止所拥有的 XMPP 服务器 Ejabberd 或Vine Rails 中的 XMPP 库 Blather 客户端上的 XMPP 库 Strope js 这是我将聊天集成到我的 Rails 应用程序中所需要的吗 编辑 来自 V
  • 从不同节点访问分布式 mnesia 数据库

    我有一个包含不同表的 mnesia 数据库 我希望能够从不同的 Linux 终端访问这些表 我有一个函数叫做add record 它需要一些参数 比如name and id 我希望能够打电话add record on node1 and a
  • Ejabberd 未向其他名册成员发送存在节

    我有一个用 python django 实现的内部网络聊天应用程序 并使用 ejabberd 2 1 3 和 Strope js 当您使用特殊访问链接打开网站时 将执行命令行调用以将您添加到共享名册组 ejabberdctl srg use
  • amqp 或 xmpp 用于实时在线游戏[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 以下哪些技术套件适用于多用户在线游戏项目 项目要求 能够在任何给定时间处理 2k 5k 用户 适用于
  • 如何用XMPP实现聊天列表

    我有 Ejabberd 服务器和移动 iOS Android 应用程序 我想构建一个简单的聊天应用程序 有两个屏幕 聊天列表 带有特定聊天消息的屏幕 我对聊天列表的实现有疑问 我用XEP 0313 消息存档管理 https xmpp org
  • Mnesia 中安全、顺序且可扩展的计数器

    我正在 Erlang OTP 中编写一个应用程序 并希望在版本记录系统上使用顺序计数器 我首先用 mnesia dirty update counter but the experience of using it drove out th
  • Mnesia 相当于 SQL NOT IN

    我有两条记录 record foo timestamp name record bar timestamp name 我想执行一个模仿以下 SQL 查询的 Mnesia 查询 SELECT f FROM foo f WHERE f time
  • 高效的 XMPP 用户搜索

    我想有效地检查所有本地地址簿联系人 如果他们有 jabber 帐户 用户使用手机号码在XMPP服务器上注册 我当前将以下 XEP 0055 节发送到 ejabberd 服务器并评估结果
  • asmack XMPP新用户注册

    StackOverflow 的好心人 请帮忙 我已经在我的 ubuntu 机器上设置了一个 ejabberd 服务器 添加了虚拟主机 设置 访问 注册 允许 全部 并注册了一个管理员帐户 我不是 Linux 专家 但我已经成功完成了这个基本
  • 使用 EC2(Amazon Web Services)自动 Ejabberd 集群[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Using Ejabberd http www process one net en ejabberd in EC2 http aws amazon
  • XEP - 0055 与 iOS 和 ejabberd?

    我正在尝试实现 ejabbed 支持的 XEP 0055 如下所示支持的 xep https www ejabberd im protocols 这是我的要求 XMPPIQ iq XMPPIQ alloc init iq addAttrib
  • XMPP - 名册订阅说明

    假设我的 Jabber 服务器上有 2 个用户 Alice 和 Bob 添加到名册中并订阅为both 我需要执行以下步骤 Alice 向 Bob 发送订阅请求 当 Bob 收到请求时 他会批准该请求 Bob 可能也对 Alice 的存在感兴
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

    我用谷歌搜索了三个小时但没有结果 我有一个 ejabberd 安装 但不是使用 apt 安装的 它是从源代码安装的 其中没有名为 ejabberd 的程序 启动和停止 一切都是通过 ejabberdctl 进行的 它完美地运行了一个月 突然
  • ejabberd MAM 不适用于 MUC

    xep 0313 适用于名册 但不适用于房间聊天 我可以获取名册的存档消息 但无法获取房间的存档消息 为什么
  • ejabberd如何编译新模块

    Here http www ejabberd im node 2872我找到了代码 erlc I ejabberd 2 1 13 lib ejabberd 2 1 13 include pa ejabberd 2 1 13 lib ejab
  • ejabberd 和 Erlang 安装,lager_transform 未定义

    我是 Erlang 新手 我一直在尝试在 EC2 ubuntu 机器上安装 Erlang 和 ejabberd 一切都很顺利 直到我开始编译一些外部模块ejabberd 它开始抛出错误undefined parse transform la
  • 我们如何有效地处理 mnesia 记录的时间相关约束?

    我正在将记录写入mnesia 该记录应该保存在那里 仅在允许的时间 24 小时 内 24小时后 在用户修改其中的一部分之前 系统应该自动删除它们 例如 用户获得免费通话时间 用于语音通话 他们应该在给定时间内使用它们 如果他们不使用它 24

随机推荐

  • 我可以检查指针是否由 malloc/calloc/realloc 分配吗? [复制]

    这个问题在这里已经有答案了 我想知道是否可以检查传递给函数的指针是否由 malloc calloc realloc 分配 int main struct something o struct something a a malloc siz
  • Spark 如何使用图像格式读取我的图像?

    这可能是一个愚蠢的问题 但我无法弄清楚 Spark 如何使用spark read format image load 争论 导入我的图像后 它给出以下内容 gt gt gt image df select image height imag
  • 一个存储库中的多个微服务

    我对微服务和存储库有疑问 我们是一个小团队 5 人 我们在微服务中创建新项目 我们项目中预期的微服务应用程序在 10 15 个之间 我们正在考虑为所有微服务建立一个存储库 其结构如下 app1 app2 app3 script sh scr
  • 来自控制台的 ActionCable.server.broadcast 始终返回 0

    我试图让 actioncable 工作 但是当我在 Rails 控制台中发送 ActionCable server broadcast discussion asdf true 时 它总是返回 0 我已经在cable yml 中运行并配置了
  • 如何在 macOS 10.14 上重置 HIDIdleTime

    在过去的几天里 我一直在尝试编写一个应用程序来重置IORegistry gt IOHIDSystem gt HIDIdleTime入口 最终目标是防止其他读取该值的应用程序将用户标记为空闲 这不仅与电源管理或防止睡眠有关 假设沙箱已禁用并且
  • 如何判断我的页面选项卡应用程序安装在哪个 Facebook 页面上 [重复]

    这个问题在这里已经有答案了 可能的重复 如何查明哪个主页安装了我的 Facebook Canvas 应用程序 http facebook stackoverflow com questions 5587784 how can i find
  • Python 字节码在 CPython 中运行究竟如何?

    我试图了解 Python 是如何工作的 因为我一直在使用它 据我了解 当您运行 python script py 之类的东西时 脚本会转换为字节码 然后解释器 VM CPython 实际上只是一个 C 程序 读取 python 字节码并相应
  • 提取最后一次出现模式 C# 后的所有字符

    字符串具有以下模式 1 0 0 0 1 0 0 1 1 0 0 2 我正在寻找一个代码 它将读取最后创建的字符串并将最后一个数字增加 1 并将其保存为新字符串 我该怎么做 此致 Magic 如果您的意图是始终获取特定字符之后的最后一个子字符
  • 在 SYB 中匹配更高种类的类型

    一般来说 我想知道是否有一种方法可以编写一个通用折叠来概括应用一个函数forall键入如下 f forall a Data D a gt D a gt b 给定某种数据类型D为此instance Data D a 可能有限制a 具体来说 考
  • 如何使用JavaScript判断目录中是否存在文件?

    如何使用javascript判断目录中是否存在文件 如果它在服务器上 你可以做一个HTTP头 http www w3 org Protocols rfc2616 rfc2616 sec9 html sec9 4通过 Ajax 请求 并查看
  • PhpStorm v2017.3.4 与 Codeception v2.4.0 不兼容

    我正在努力使代码接收与 PhpStorm 一起工作 我已经设置了 CLI 解释器 我还设置了 Codeception 这是 Codeception 的配置 当我从 PhpStorm 运行测试时 我收到以下信息 在左侧 以及右侧的文字 Tes
  • 实现不同类型数组集合的更好方法

    我正在寻找 C 中的半通用数据结构来存储不同整数和浮点类型的数组 在某些情况下 整数是位字段 其中每个位都同等重要 并且不能容忍精度损失 由于 C 类型系统和我对 C 的不熟练 我发现这既困难又混乱 项目 Ethercat周期性数据包到达并
  • 使用 AppCompat 时如何更改 ActionBar 标题字体

    我想将自定义字体应用于 ActionBar 上显示的应用程序标题 以前我没有使用任何支持库和这个解决方案 int titleId getResources getIdentifier action bar title id android
  • 如何创建/在哪里获取多个实例的 Wix Bootstrapper

    我目前正在学习如何使用 WiX 创建 msi 安装程序 但似乎遇到了困难 当我创建一个包含单个环境所需的所有内容的 MSI 时 一切都很好 我有功能和组件 并且可以安装我的 MSI 现在我正处于想要将其转换为 SQL Server 样式安装
  • R 中邻居的空间数据/计算指标

    我有 xBin yBin value 形式的二维空间数据 例如 DT data table x c rep 1 3 rep 2 3 rep 3 3 y rep c 1 2 3 3 value 100 c 1 9 对于每个垃圾箱 我想计算所有
  • 从 JS 文件中获取 Vue

    我对现代前端开发工具还很陌生 我安装了 Nodejs 和 NPM 下载了一些软件包 例如 jquery 并且一切正常 然后我安装了 Webpack 第 2 版 我创建了这个演示配置文件 module exports entry entry
  • 如何实现四个 i8 元素组的高效 _mm256_madd_epi8 点积?

    Intel 提供了一个名为 mm256 madd epi16 的 C 风格函数 基本上 m256i mm256 madd epi16 m256i a m256i b 将 a 和 b 中的压缩有符号 16 位整数相乘 生成中间有符号 32 位
  • 如何同步远程服务器数据库与本地数据库

    我想在期间获取从远程服务器数据库到本地数据库的单个表的所有详细信息页面加载事件或其他一些好的方法 应该作为后端进程发生 任何人都可以帮助我解决这个问题 1 在桌面和 Web 应用程序中创建的单个应用程序 2 当用户在桌面应用程序中注册新客户
  • Quarkus 自定义授权拦截器

    我有一个 Quarkus 微服务 使用 quarkus oidc 和 quarkus keycloak authorization 扩展通过 Keycloak 进行身份验证和授权 我需要另外实现以下两个请求拦截器 过滤器 任何身份验证逻辑启
  • 如何阻止 ejabberd 使用 mnesia [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试建立一个将数据库从崩溃的服务器恢复到新服务器的过程 我的服务器正在运行 Ejabberd 作为 XMPP 服务器 并且我将其配置为使用 po