如何将崩溃的 erlang mnesia 节点重新连接到集群?

How to reconnect a crashed erlang mnesia node to cluster again?

我正在学习 erlang 和 mnesia。我有一个问题:如何重新连接一个 "crashed" erlang mnesia 节点再次集群?

Erlang/OTP 17 [erts-6.2]

我做了什么:

  1. 两个 mnesia 节点:m11@deb83-11 和 m12@deb83-12。他们联系在一起 彼此很好。

    (m11@deb83-11)4> mnesia:system_info(running_db_nodes).
    ['m12@deb83-12','m11@deb83-11']
    
  2. 然后我用 "Ctl-G" 和 "q" 终止了 m12@deb83-12 的 erl shell 不停地失忆。

  3. 之后,我为 m12@deb83-12 节点重新启动了 erl shell 命令行.

  4. 我发现重启后的节点m12@deb83-12没有连接上 m11@deb83-11.

    (m11@deb83-11)16> mnesia:system_info(running_db_nodes).
    ['m11@deb83-11']
    

注意 1. 如果我在步骤#2 中停止了 mnesia,m12@deb83-12 将在步骤#3 后成功重新连接到 m11@deb83-11)

注2.我没有创建任何table。此集群中只有一个空架构。

提前致谢!

显然,您需要做的就是连接到另一个节点(以便 nodes(). returns 另一个节点)并使用 mnesia:stop().mnesia:start(). 重新启动 mnesia。