🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![](https://box.kancloud.cn/245be3ed115f3ace7acf0e25b238e00f_644x57.png) 解决方案:erl -name a@yujian 1.在两台机器上分别建立各自一个节点,我使用我的电脑和我后面的电脑       我的机器                                                            test机器          ![](https://box.kancloud.cn/337b6203ef046224d27eff9a77cb3c36_347x120.png) ![](https://box.kancloud.cn/c7adc361a71081ffad0a4a1f423df3af_344x115.png)             这时运行:      mnesia:create_schema( [ yujian@yujian, test@DP-201001010138 ]).出现错误     ![](https://box.kancloud.cn/26a8bb753e3f50431c551743b3d62fae_637x106.png) 我猜测可能是test@DP-201001010138这个名称的问题,把这个名称修改掉,修改成test@test     然后重新试验下     2台机器之间有错误了     ![](https://box.kancloud.cn/3081c827a4a7c2f5bcd2dfa5975e3692_559x65.png) 该问题,出现原因未知 第二次试验信息:a机器:erl -name a@yujian -setcookie abc                 b机器:erl -name b@yujian -setcookie abc 此次解决方案:a机器代码修改:erl -sname a -setcookie abc               b不变化 ![](https://box.kancloud.cn/13128ea302d7317ac30fef55c85e8ac9_641x114.png) 这时我准备在我的机器上启2个节点 ![](https://box.kancloud.cn/97bbac8b2af6ba314a1ec6f88ecc333c_576x37.png)      ok   这时mnesia:start().需要注意 然后创建表     mnesia:create_table( baikefileRecord, [{disc_only_copies, [ yujian@yujian, test@yujian ]},  {attributes, record_info( fields, baikefileRecord )}]). mnesia:start(). mnesia:system_info(). ![](https://box.kancloud.cn/acb0ba2e4b18e86126fb5c88e10df833_643x352.png) 以task_to_file表为例,首先确保2个节点上的这张表都为空, ![](https://box.kancloud.cn/2a7c4d46dbc90652c97f49fda9802102_426x34.png) ![](https://box.kancloud.cn/4c7e96e04031105ecebbd839aa70b499_423x37.png) 然后向一个节点的表中插入数据,我想yujian@yujian这个节点中插入了10条数据,选择出来 ![](https://box.kancloud.cn/9b3f492cd47fb0e3bf9f4f318290d21f_646x214.png) 然后再test@yujian节点上查看这个节点上现在是否有数据   ![](https://box.kancloud.cn/92ec7e4e058dc3f2c7b5099199b76445_640x306.png) 悲剧了同步更新了 在没有插入数据的节点上删除操作,更新操作,都会同步更新所有的节点          好吧现在的结论是:分布式的节点中每一张的数据都会更新成同样的数据 细节 关闭已经打开的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] ). ![](https://box.kancloud.cn/cfcfa1b67b1b268882a3cf0d800caf42_519x146.png) 测试 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] ). ![](https://box.kancloud.cn/e4045cb255168f5f44f991943234ce97_513x144.png) 测试 http://127.0.0.1:8081/down.yaws,可以打开 运行 mnesia:create_schema( [computera@yujian, computerb@server]).  ![](https://box.kancloud.cn/3eb7924a7554d9d6b9d9785d4fe4bfab_554x40.png) 运行 mnesia:system_info().  ![](https://box.kancloud.cn/b71ec138968132e4bd05f751cd6dd472_456x34.png) 如图所示stopped db nodes 包括两项第四步才算成功 运行 分别在两台机器上运行: mnesia:start(). 运行完成后,在第一台机器上执行: mnesia:system_info().  ![](https://box.kancloud.cn/114cf7f8dfd49c628d43b9d629d07053_456x33.png) 如图所示running db nodes 包括两项才算成功 在第一台机器上运行 mnesiaDBA_init:init( computerb@server,computera@yujian ).  ![](https://box.kancloud.cn/b16d237691665fe8648b7ac92a15d192_554x258.png) ![](https://box.kancloud.cn/00e07329dc47ffa208837b5acae85476_554x50.png)