我试图从单独的脚本插入联盟数据到ejabberd的Mnesia数据库中。我是一个Erlang初学者,虽然我可以想出如何创建和使用单独的Mnesia数据库,但我无法弄清楚如何连接到ejabberd。使用相同的“-mnesia目录”似乎不够。如何使用单独的脚本连接到ejabberd的Mnesia数据库?
1
A
回答
5
问题简化为如何在Erlang中进行rpc调用的问题。
确保ejabberd以节点主机部分的全限定主机名或IP地址运行。这在我的安装中指定为/etc/ejabberd/ejabberdctl.cfg中的EJABBERD_NODE。如果您必须在此步骤中更改主机名,请参阅https://git.process-one.net/ejabberd/mainline/blobs/raw/v2.1.10/doc/guide.html#htoc79(“更改计算机主机名”)。
使用-name或-sname启动您的shell或脚本,并使用与上述限制相同的主机。
您已准备好使用Erlang的内置RPC。例如:
(在你的shell或脚本)
Cookie = 'YOUR_EJABBERD_COOKIE'. % mine was found in /var/lib/ejabberd/.erlang.cookie
EjabberdNode = '[email protected]'. % or whatever you set as EJABBERD_NODE
erlang:set_cookie(EjabberdNode, Cookie).
net_adm:ping(EjabberdNode).
rpc:call(EjabberdNode, mnesia, system_info, [tables]).
2
只需使用命令ejabberdctl调试
mnesia:info(). %to overview mnesia
mnesia:schema(schema). %see table named schema`s detail
相关问题
- 1. Ejabberd mnesia数据库到mysql
- 2. 连接到单独的'数据库连接文件'
- 3. 如何停止使用mnesia ejabberd
- 4. 连接到数据库 - 脚本建议?
- 5. 如何连接到bash脚本中的oracle数据库?
- 6. 使用'sysdba'从shell脚本连接到Oracle数据库
- 7. 如何将Firebase数据库连接到Php脚本?
- 8. Django独立数据库脚本 - 太多连接错误
- 9. C#连接到单独的线程数据库
- 10. mysql连接表单独的数据库到表行
- 11. ejabberd:检查Mnesia表?
- 12. ejabberd:用mysql替换mnesia
- 13. 将独立脚本连接到使用框架的joomla DB
- 14. 如何连接oracle数据库和我的python脚本?
- 15. Python的ejabberd验证脚本不响应变化的数据库
- 16. 您可以使用MySQL连接到独立数据库“MYDATA.DB”?
- 17. HSQLDB无法连接到与Android的数据库脚本?
- 18. 连接到数据库时运行无限的Python脚本
- 19. 连接到SSIS脚本任务中的SQL数据库
- 20. 连接到perl脚本中的多个数据库
- 21. 连接到awk脚本中的数据库
- 22. 如何连接到Oracle的两个数据库使用dblink的
- 23. MongoDB:如何使用相同的连接连接到不同的数据库?
- 24. 在单独的数据库类中的MySQL连接池 - howto?
- 25. 连接到数据库并使用C#中的数据库#
- 26. php sqlite在几个脚本中使用数据库连接
- 27. 需要使用unix shell脚本连接DB2数据库
- 28. 使用Shell脚本检查数据库连接
- 29. 为delayed_job使用单独的数据库
- 30. 使用Elixir备份Mnesia数据库