远程连接ejabberd的mnesia数据库

来源:互联网 发布:tp-link产品工程师知乎 编辑:程序博客网 时间:2024/06/06 07:44

前面blog介绍了ejabberd集群搭建和测试, 使用的是ejabberd自带的数据库mnesia, 现在想看看mnesia数据库中的表和记录, 有没有方法通过我的机器(windows7系统) 远程连接到集群的mnesia数据库来查看数据?通过在网上搜索和尝试,终于达到了上述目的。  方法如下:

集群为两台机器:

A:ip(192.168.1.55)  

        B:ip(192.168.1.56)

1、windows7安装erlang(略)

2、获取集群的cookie, 有两种方法:

a)  /root/.erlang.cookie 文件中读取

b)  $erl -name 'ejabberd@192.168.1.55' -mnesia dir '"/var/lib/ejabberd"' 
     (ejabberd@192.168.1.55)>
     (ejabberd@192.168.1.55)> auth:get_cookie(). (获取cookie)
     (ejabberd@192.168.1.55)> 'BETBUIYSIVWETBUIYD'

推荐第一种方法

3、在windows7 机器上cmd窗口下执行

erl –name ejabberd@192.168.20.242  –setcookie BETBUIYSIVWETBUIYD

注意节点名和cookie值字符串两端不用有单引号。


如图:通过net_adm:ping('ejabberd@192.168.1.55')来ping通机器A。注意:节点名两端必须有单引号。

返回pong代表ping通,返回pang代表ping不通。

通过observer:start().命令打开图形界面,如下图


点击Nodes选择ejabberd@192.168.1.55节点


选择Table Viewer


点击View可以选择查看Ets Tables、Mnesia Tables等表的信息。



0 0
原创粉丝点击