我已在AWS EC2实例上安装了ejabberd,并使用smack库与我的Android应用程序连接。目前ejabberd服务器使用mnesia作为数据库,但是我想对一些数据(主要是MUC房间名称)执行一些复杂的查询,因为SQL主要是最好的解决方案,我想知道它是不是可以将所需数据复制到我可以查询的外部MySQL数据库。
这是可能的还是我更好地研究这个问题的不同方法?
答案 0 :(得分:1)
ejabberd中没有内置模块将Mnesia中的数据复制到MySQL。但是,通常的方法是使用每个功能所需的后端。如果您希望mod_muc
将数据存储到MySQL而不是Mnesia,您只需将后端更改为odbc(这意味着它将在关系数据库中存储该模块的数据)。
您可以参考MUC模块的ejabberd文档:http://docs.ejabberd.im/admin/guide/configuration/#modmuc
配置MySQL并加载架构后,您可以根据具体情况将db_type
设置为odbc
,以便为该模块选择MySQL。