0

我计划将 MySQL 与 Galera 集群复制(Percona XtraDB Cluster)一起使用。

我是这种复制技术的新手,我需要澄清一下。

当我尝试在与集群其余部分不同步的节点上执行一些 SQL 查询时(即网络故障,仲裁决定该节点出现故障并将其从主要组件中删除),究竟会发生什么?

如何在 SQL 客户端应用程序端检测到这种情况?IE。我会在 SQL SELECT * FROM xxx 上遇到什么错误;或 UPDATE xxx SET yyy=zzz;?

当节点不同步时,我怀疑所有读/写操作都应该以失败结束,以防止脑裂和其他问题,但是我会遇到什么错误以及如何检查它?

我需要的是检测我连接的节点错误,所以我可以重新连接到另一个节点

4

1 回答 1

0

由于在这种情况下缺少更好的代码,mysqld 将返回 1047 (ER_UNKNOWN_COM_ERROR)。因此,当返回此代码时,您可以检查wsrep_local_state状态变量。如果为 0,则该节点从主组件中分区。

于 2013-01-22T09:34:00.987 回答