gpt4 book ai didi

erlang - 如何使用单独的脚本连接到 ejabberd 的 Mnesia 数据库?

转载 作者:行者123 更新时间:2023-12-02 04:12:27 26 4
gpt4 key购买 nike

我正在尝试从单独的脚本将隶属关系数据插入 ejabberd 的 Mnesia 数据库中。我是一名 Erlang 初学者,虽然我可以弄清楚如何创建和使用单独的 Mnesia 数据库,但我无法弄清楚如何连接到 ejabberd 的数据库。使用相同的“-mnesia dir”似乎还不够。

最佳答案

问题归结为如何在 Erlang 中进行 rpc 调用的问题。

  1. 确保 ejabberd 使用节点主机部分的完全限定主机名或 IP 地址运行。这在我的安装中在/etc/ejabberd/ejabberdctl.cfg 中指定为 EJABBERD_NODE。如果您确实需要在此步骤中更改主机名,请参阅 https://git.process-one.net/ejabberd/mainline/blobs/raw/v2.1.10/doc/guide.html#htoc79 (“更改计算机主机名”)。

  2. 使用 -name 或 -sname 启动 shell 或脚本,并使用具有与上述相同限制的主机。

  3. 您已准备好使用 Erlang 的内置 RPC。例如:

(来自您的 shell 或脚本)

Cookie = 'YOUR_EJABBERD_COOKIE'. % mine was found in /var/lib/ejabberd/.erlang.cookie
EjabberdNode = 'ejabberd@127.0.0.1'. % or whatever you set as EJABBERD_NODE
erlang:set_cookie(EjabberdNode, Cookie).
net_adm:ping(EjabberdNode).
rpc:call(EjabberdNode, mnesia, system_info, [tables]).

关于erlang - 如何使用单独的脚本连接到 ejabberd 的 Mnesia 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com