前面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等表的信息。