Galera集群 - 自动提交

问题描述:

我设置了一个有2个节点的galera集群,并禁用了2servers自动提交。Galera集群 - 自动提交

set autocommit=0; 

在server1和COMMIT处插入数据,但server2没有更新数据;

server2需要COMMIT;在SELECT之前;

我如何更新没有COMMIT的数据,autocommit = 1除外?

您可能指的是“严重阅读”问题,而不是autocommit。请参阅wsrep_sync_wait上的手册,该手册应为SET至1之前的SELECT,即可能正在从除写入数据之外的节点读取数据。这可以确保复制能够被抓住,以便您得到“正确”的答案。

My Galera blog讨论了该方面等等。

如果您需要的东西不是SELECT需要等待,那么可以使用例如15作为SET中的值。

(我更明确地使用BEGIN而是采用autocommit=0,然后我就可以配对在代码中BEGINsCOMMITs,不留“开放式”交易,直到永远。)