在我们的环境中,我们有 2 个 MySQL(主服务器和副本服务器)
今天我们遇到了一个非常奇怪的案例。
主 SQL 中的数据冻结了一个小时!所谓冻结,是指至少 1 个表中没有新记录(据我们所知)
但它仍然可以通过读取来访问。
这发生在生产环境中。
所有应用程序仍然可以访问、插入、更新。
但数据库本身没有任何变化。
冻结窗口传递之后,冻结窗口期间的所有查询都将被执行!
我们怀疑这是查询锁定问题。但我检查了 mysql.slow_log,没有发现任何可疑查询。所有查询都在一分钟内执行。
我的问题是..
- 这是死锁问题吗?为什么它没有记录到mysql.slow_log表中?
- 如何防止这种情况?MySQL 没有查询超时作为默认值?1 小时查询怎么会阻塞一切。
- 我们可以指定参数来记录锁定时间较长的查询吗?
太感谢了。
PS我使用的是CloudSQL mysql 5.7.11