我在节点 a
上安装了 mnesia。
我已经定义了一个架构和一个表。
现在我不知道如何添加另一个节点 b
以便 mnesia 现在可以分布式运行。
分布式我的意思是:
insert
发出 mnesia 记录的 a
b
的mnesia时能够获取记录我尝试过的:
a
并启动 mnesiacreate_schema
和节点 create_table
上的 a
dirty_insert
在节点 a
然后
起始节点 b
将节点 b
连接到节点 a
from node a
issue : mnesia:change_config(extra_db_nodes,[nodes()]).
// 如果我从 node a
或 node b
发出此命令无关紧要我收到以下错误:< /p>
<块引用>
(a@DESKTOP-GOMS8S8)7> mnesia:change_config(extra_db_nodes,[nodes()])。 =错误报告==== 2021 年 7 月 3 日::13:33:16.147000 === 节点“a@DESKTOP-GOMS8S8”上的进程 <0.138.0> 出错,退出值: {function_clause, [{gen_server,do_abcast, [[['b@DESKTOP-GOMS8S8']], mnesia_controller, {'$gen_cast',{merging_schema,'a@DESKTOP-GOMS8S8'}}], [{file,"gen_server.erl"},{line,263}]}, {mnesia_controller,connect_nodes2,3, [{file,"mnesia_controller.erl"},{line,486}]}]}
** 异常退出:function_clause
在函数 gen_server:do_abcast/3 中
称为 gen_server:do_abcast([['b@DESKTOP-GOMS8S8']],
mnesia_controller,
{'$gen_cast',
{merging_schema,'a@DESKTOP-GOMS8S8'}})
从 mnesia_controller:connect_nodes2/3 调用(mnesia_controller.erl,第 486 行)
我只是希望我对给定节点的 mnesia 执行的任何操作都反映在其他节点上
答案 0 :(得分:2)
nodes()
已经返回一个列表,因此不需要将返回值包装在一个列表中。试试这个:
mnesia:change_config(extra_db_nodes,nodes()).