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
,然后我就可以配对在代码中BEGINs
和COMMITs
,不留“开放式”交易,直到永远。)