erlang mnesia集群建立

本文详细介绍了如何使用Erlang的Mnesia数据库构建集群,包括两种方法:一是同时启动所有节点并创建schema,二是先启动一个节点,然后逐个添加其他节点。通过设置相同的cookie和执行mnesia:create_schema、mnesia:start等操作,实现数据在集群中的同步和共享。
摘要由CSDN通过智能技术生成
mnesia数据可以实现集群共享数据库。数据库表可以在其中某个节点所在的数据库目录,可以拷贝到其他节点数据库目录,mnesia会同步数据库,在启动时执行mnesia:wait_for_tables实现数据库数据同步。

erlang mnesia集群建立有两种方法:
方法一:
1、启动时所有节点,并且使节点互通(设置同样的cookie,并且启动epmd,可以通过net_adm:ping/1使节点连通,或者直接执行第二步,mnesia会先连通节点)
2、在其中一个节点上执行mnesia:create_schema(NodeList).(NodeList指集群节点列表)
3、在任意一节点执行mnesia:system_info(). mnesia:start(). mnesia:system_info(). 可以看到 db_nodes里包括了所有节点。
如果没有设置mnesia数据库目录,则会在启动目录看到Mnesia.chen@127.0.0.1 Mnesia.xiao@127.0.0.1目录
%%节点chen@127.0.0.1
D:\>erl -name chen@127.0.0.1 -cookie '123'
Eshell V5.9  (abort with ^G)
(chen@127.0.0.1)1> net_adm:ping('xiao@127.0.0.1').
pong
(chen@127.0.0.1)2> mnesia:create_schema([node()|nodes()]).
ok
(chen@127.0.0.1)3> mnesia:system_info().
===> System info in version "4.6", debug level = none <===
opt_disc. Directory "d:/Mnesia.chen@127.0.0.1" is used.
use fallback at restart = true
running db nodes   = []
stopped db nodes   = ['xiao@127.0.0.1','chen@127.0.0.1']
no
(chen@127.0.0.1)4> mnesia:system_info(db_nodes).
['chen@127.0.0.1','xiao@127.0.0.1']
(chen@127.0.0.1)5> mnesia:start().
ok
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值