在迁移到Aurora之前,我有一个标准的主从配置,该配置隔离了我的分析平台Looker。在从属服务器上,我将tx_isolation db参数设置为READ-COMMITTED以解决锁定等待问题。
现在,我已经将所有内容移至Aurora MySQL 5.7,并且所有内容都在一个数据库集群中,我再也无法对编写器执行tx_isolation技巧,因为那样会导致生产数据不一致。现在,分析查询会导致超出锁定等待超时的错误。
这种情况通常发生在从生产数据生成大型临时表的查询中,这些生产数据持有一个锁,导致我们的生产网站中断。
答案 0 :(得分:1)
一种解决方法是修改分析引擎使用的mysql连接连接参数。
您可以传递变量sessionVariables=tx_isolation='READ-COMMITTED'
,以确保分析查询具有较低的隔离级别,从而在保持生产查询的ACIDity的同时,不会引起锁定问题。
在Looker中,有一个Additional Params
字段,您可以将该字符串复制粘贴到其中。