zoukankan      html  css  js  c++  java
  • 远程连接ejabberd的mnesia数据库

    由于服务器是server版本,所以很难直观的看到mnesia的数据。所以对于初学者来说非常的困惑。

    特地在qq群中请教了别人。别人说只要pong通了就行,就能通过rpc去操作远程的mnesia数据库。初学者太懂这个意思。然后特地搜索了一下,终于搜到了别人关于两台erl节点服务器ping通的文章。

    ok,接下来远程连接ejabber的mnesia数据库吧。

    ejabberd默认节点是ejabberd@localhost,这种节点是无法正常ping通的。我也尝试修改ejabberdctl.cfg配置文件、hosts等文件去修改ejabberd节点。虽然成功,ejabberd能启动,但是停止命令无效。我没有深究这个问题。想直接对ejabberd的mnesia做连接。不管ejabberd的节点问题。

    于是。。。

    启动erlang的,并指定mnesia数据库的目录。

    我在虚拟机上操作如下:

    • $ erl -name 'csq@172.16.157.142' -mnesia dir '"/var/lib/ejabberd"' (ip为本机的ip,必须,否则不能ping通)
    • (csq@172.16.157.142)>
    • (csq@172.16.157.142)> auth:get_cookie(). (获取cookie)
    • (csq@172.16.157.142)> 'ABSDVFHTFSH'

    复制cookie,然后在本机上操作:

    • $ erl -name 'ccc@192.168.49.149' -setcookie 'ABSDVFHTFSH'
    • (ccc@192.168.49.149)>
    • (ccc@192.168.49.149)>net_adm:ping('csq@172.16.157.142').
    • (ccc@192.168.49.149)>pong

    //pong表示通了,pang表示没有通

    然后就能远程操作mnesia了。例如:observer:start().

    --------- 签名 -----------
    本文版权归本博作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    angular2.0学习笔记4.npm常用指令记录及angular语法
    angular2.0学习笔记7.echarts 地图(type:'map')slice undifined 出错问题
    angular2.0学习笔记6.编程风格指南
    ionic3搭建笔记及编译成apk
    Ionic3--数据存储
    webpack入门笔记
    angular2.0学习笔记3.了解angular2.0项目结构
    angular2.0学习笔记2.创建hello world项目
    UVA 10954 Add All
    POJ 3069 Saruman's Army
  • 原文地址:https://www.cnblogs.com/lovechengcheng/p/5052403.html
Copyright © 2011-2022 走看看