2015-03-25 76 views
1

我在Ubuntu Linux上嘗試ejabberd(ProcessOne站點上的最新版本),並將其配置爲將數據存儲在MySQL數據庫中。ejabberd是否支持在MySQL數據庫中存儲muc房間信息?

當我添加用戶時,我可以在用戶表中看到它們,但任何表格都不會顯示muc房間。

看看指南,不清楚ejabberd是否支持這一點。我需要輕鬆訪問數據庫中的muc room信息,因爲我們系統的其他部分將使用這些數據。

ejabberd(我使用v15.03)是否支持在外部數據庫(如MySQL)中存儲muc房間信息(房間jid,房間主題和房間聊天曆史記錄)? 如果不是,Openfire呢?你會推薦Openfire嗎?

回答

1

我不知道ejabberd,但Openfire提供了您需要的信息。 房間信息將被存儲在MySQL(或其他數據庫,如果你想)。

通過監控插件,您可以在這裏獲得:https://www.igniterealtime.org/projects/openfire/plugins.jsp您還可以將muc room消息存儲在數據庫中。

2

ejabberd支持MUC的SQL後端。您需要配置mod_muc才能使用正確的db_type。請參考mod_muc ejabberd documentation

請注意:

  • MUC房間配置只存儲在數據庫中永久聊天室。確保您的房間配置相應,如果你想他們存儲。
  • 短期歷史記錄保存在內存中。這是用戶加入MUC房間時自動發送的內容。
  • 消息歸檔依賴於XEP-0313: Message Archive Management XMPP擴展。確保啓用並正確配置以將內容存儲在數據庫中。請閱讀ejabberd documentation on mod_mam
+0

是否可以將所有MUC相關的數據從Mnesia遷移到MySQL? – TranslucentCloud 2015-05-06 10:08:05

+1

我不認爲有這樣的遷移腳本可用,但可以將轉儲導出到文本文件並將數據轉換爲SQL插入。 – 2015-08-02 14:07:09

+0

那麼,ejabberd 16.01是否支持將整個muc聊天室記錄存儲到odbc中? – rastko 2016-02-06 10:23:45

0

要保存睦房在MySQL中,修改ejabberd的配置文件,如下所示:

mod_muc: 
    db_type: sql 
    default_room_options: 
     persistent: true 

查看存儲的房間,然後轉到MySQL數據庫,並使用下面的查詢:

>select * from muc_room;