您能否检查“运行数据库节点”字段是否列出了您已启动的两个节点?可能是您没有将第二个节点添加到 mnesia 集群。
因此,如果您的第二个节点称为 BNode,那么在第一个节点上您将按以下顺序运行这些命令:
1) mnesia:change_config(extra_db_nodes, [BNode]).
2) mnesia:add_table_copy(table, BNode, disc_copies).
第二:我认为您应该在 disk_copy-to-be 节点上启动 mnesia 之前创建模式(步骤 3)(步骤 2)。
这就是我为创建您需要的模式所做的:
假设您有 2 个节点 NodeA 和 NodeB。
确保在开始之前没有 Mnesia 目录。
%% From NodeA, setup the A node
erl -sname a -setcookie cookie
mnesia:start().
mnesia:create_table(mytable, [{attributes, [field1, field2]}]).
%% From NodeB, setup the B node
erl -sname b -setcookie cookie
net_adm:ping(NodeA).
mnesia:create_schema([node()]).
mnesia:start().
%% From NodeA, Add the NodeB to the mnesia cluster
[BNode | _] = nodes().
mnesia:change_config(extra_db_nodes, [BNode]).
%% From NodeA, add NodeB as a disc copy
mnesia:add_table_copy(mytable, BNode, disc_copies).