2013-07-30 30 views
0

ejabberd是在Ubuntu上運行,版本爲2.1.13,只有一個節點,而不是分配,我想查詢它單曲在ejabberdctl調試如何直接訪問ejabberd的mnesia?

我曾嘗試使用電視Mnesia的數據庫:啓動( )ejabberdctl調試外殼,但它返回

undefined function tv:start/0 

我也嘗試

Cookie = 'MY_COOKIE'. 
EjabberdNode = '[email protected]'. 
erlang:set_cookie(EjabberdNode, Cookie). 
** exception error: distribution_not_started 
    in function auth:set_cookie/2 (auth.erl, line 119) 
net_adm:ping(EjabberdNode). 
rpc:call(EjabberdNode, mnesia, system_info, [tables]). 

正如你所看到的,我看到了一個錯誤似乎分配。

以及如何使用shell如mysql shell查詢mnesia中的表?

回答

3

在這裏我第一個節點是ejabberd @本地,爲第一個節點的訪問Mnesia的,我們建立另一個節點測試@本地 whitch產生與第一個節點羣集,然後您可以訪問的Mnesia。

命令:

erl -sname test -mnesia dir '"/tmp/"' -mnesia extra_db_nodes "['[email protected]']" -s mnesia 

關注:-sname試驗,絕不能同第一個節點的名稱,這裏是ejabberd

那麼你可以通過命令來檢查Mnesia的

mnesia:info(). 

祝你好運〜