
解决方案:erl -name a@yujian
1.在两台机器上分别建立各自一个节点,我使用我的电脑和我后面的电脑
我的机器 test机器


这时运行:
mnesia:create_schema( [ yujian@yujian, test@DP-201001010138 ]).出现错误

我猜测可能是test@DP-201001010138这个名称的问题,把这个名称修改掉,修改成test@test
然后重新试验下
2台机器之间有错误了

该问题,出现原因未知
第二次试验信息:a机器:erl -name a@yujian -setcookie abc
b机器:erl -name b@yujian -setcookie abc
此次解决方案:a机器代码修改:erl -sname a -setcookie abc
b不变化

这时我准备在我的机器上启2个节点

ok
这时mnesia:start().需要注意
然后创建表
mnesia:create_table( baikefileRecord, [{disc_only_copies, [ yujian@yujian, test@yujian ]},
{attributes, record_info( fields, baikefileRecord )}]).
mnesia:start().
mnesia:system_info().

以task_to_file表为例,首先确保2个节点上的这张表都为空,


然后向一个节点的表中插入数据,我想yujian@yujian这个节点中插入了10条数据,选择出来

然后再test@yujian节点上查看这个节点上现在是否有数据

悲剧了同步更新了
在没有插入数据的节点上删除操作,更新操作,都会同步更新所有的节点
好吧现在的结论是:分布式的节点中每一张的数据都会更新成同样的数据
细节
关闭已经打开的yaws服务器
第一台机器(hz-ejabberd-web1)
进入到/home/project/文件夹下
yaws --sname computera --mnesiadir /httx/project/Mnesia.nonode@nohost --erlarg "-setcookie wexin"
进入yaws后,前缀
执行下面函数
mnesia:stop().
mnesia:delete_schema( [computera@yujian] ).

测试 http://127.0.0.1:8081/down.yaws,可以打开
在另一台机器
进入到/home/project/文件夹下
yaws --sname computerb --mnesiadir /httx/project/Mnesia.nonode@nohost --erlarg "-setcookie wexin"
进入yaws后,前缀
执行下面函数
mnesia:stop().
mnesia:delete_schema( [computerb@server] ).

测试 http://127.0.0.1:8081/down.yaws,可以打开
运行
mnesia:create_schema( [computera@yujian, computerb@server]).

运行
mnesia:system_info().

如图所示stopped db nodes 包括两项第四步才算成功
运行
分别在两台机器上运行:
mnesia:start().
运行完成后,在第一台机器上执行:
mnesia:system_info().

如图所示running db nodes 包括两项才算成功
在第一台机器上运行
mnesiaDBA_init:init( computerb@server,computera@yujian ).


- 1.学习
- 1.1安装与运行环境
- 1.2编辑器、集成开发环境与其它工具
- 1.3代码编译运行
- 2.基础
- 2.1 Erlang终端
- 2.2 基础语法
- 2.2.1 异常处理
- 2.3 数据类型
- 2.4 操作符
- 2.5 模块属性
- 3.库函数
- 3.1 常用模块
- 3.2 OTP模块
- 3.2.1 函数
- 3.2.2 receive
- 3.2.3 .app.src文件
- 3.2.4 _app.erl
- 3.2.5 _sup.erl
- 3.2.6 gen_server
- 3.2.7 gen_fsm
- 3.3 erts
- 3.3.1 init
- 3.3.2 BIF
- 3.3.3 NIF
- 3.4 kernel
- 3.4.1 code_server
- 3.4.2 inet
- 3.4.3 net_kernel
- 3.4.4 net_adm
- 3.4.5 error_logger
- 3.4.6 global
- 3.4.7 application
- 3.5 stdlib
- 3.5.2 array
- 3.5.4 base64
- 3.5.5 binary
- 3.5.6 c
- 3.5.8 calendar
- 3.5.9 code
- 3.5.11 dict
- 3.5.12 erl_
- 3.5.13 file
- 3.5.14 filelib
- 3.5.15 gb_trees
- 3.5.16 gb_sets
- 3.5.17 gen_tcp
- 3.5.18 gen_server
- 3.5.19 httpc
- 3.5.20 init_parse
- 3.5.21 init
- 3.5.22 inet
- 3.5.23 io
- 3.5.24 lists
- 3.5.25 maps
- 3.5.26 os
- 3.5.27 ordsets
- 3.5.28 proplists
- 3.5.29 queue
- 3.5.30 qlc
- 3.5.31 re
- 3.5.32 random
- 3.5.33 rfc4627-json
- 3.5.34 string
- 3.5.35 ssh
- 3.5.36 soft
- 3.5.37 sets
- 3.5.38 supervisor
- 3.5.39 tuple
- 3.5.40 timer
- 3.5.41 unicode
- 3.5.42 cpu
- 3.5.43 math
- 3.5.44 zip
- 3.5.45 shell
- 3.6 SASL
- 3.7 asn1
- 3.8 compiler
- 3.9 tools
- 3.10 OS_Mon
- 3.11 crypto
- 3.12 Port
- 4.工具
- 4.1 Erlang预处理器
- 4.2 Erlang节点
- 4.3 Erlang多节点
- 4.3.1主从节点
- 4.4 Epmd
- 4.5 断点工具
- 4.6 dialyzer
- 4.7 dbg-debug 模块
- 4.7.1 dbg
- 4.8 Erlang跟踪工具
- 4.9 etop
- 4.10 profiling
- 4.10.1 fprof
- 4.10.2 eprof
- 4.10.3 cprof
- 5.进阶
- 5.1 TCP粘包、大小端
- 5.2 rebar发布系统
- 5.3 ErlangVM 心跳
- 5.4 Erlang GC
- 5.5 Erlang Time
- 5.6 Erlang 启动
- 5.6.1 SASL配置
- 5.7 Erlang系统限制
- 6.项目
- 6.1 the_seed
- 6.2 network
- 6.3 parse_tool
- 6.4 cache
- 7.项目研究
- 7.1 Mnesia
- 7.1.1 Mnesia模式
- 7.1.2 Mnesia操作
- 7.1.3 Mnesia增删改查
- 7.1.4 Mnesia过载分析
- 7.1.5 Mnesia高级特性
- 7.1.6 分布式
- 7.1.7 Mnesia表分片
- 7.1.8 Mnesia锁
- 7.1.9 dets
- 7.1.10 ets
- 7.2 Ejabberd
- 7.2.1 mod_echo.erl
- 7.2.2 hooks for module developers
- 7.2.3 Events list
- 7.3 cowboy
- 7.4 rebar
- 7.4.1 rebar Wiki
- 7.4.2 rebar.config.script
- 7.5 RIAK CS
- 7.6 Leofs
- 7.6.1 简介
- 8.资料整理
- 8.1 资料
- 8.1.1 Erlang的调度原理
- 8.1.2 虚拟机代码执行原理
- 8.1.3 SMP
- 8.2 杂记
- 8.2.1 设计