最近在重新整理MYSQL 8的MY.CNF 的配置, 在和组员讨论的试试,我们的MYSQL DBA 提出一个问题, innodb_deadlock_detect 和 innodb_rollback_on_timeout...这里需要明确的几个问题
1 innodb_deadlock_detect 是检测死锁的一种方法,从mysql 5.7.13引入的, 在官方MYSQL 8.0 的文档中提到在高并发的系统中还是建议不使用...那么下面的连锁的问题就来了, 如果死锁,其中一个事务回滚, 则根据MYSQL 默认的原则,只回滚最后的一条语句,而不是将所有的事务都回滚....说到最后我们来捋一捋, 关于死锁以及事务回滚的MYSQL的配置我们是怎么做的
1 innodb_deadlock_detect = off
2 innodb_lock_wait_timeout =...我们可以根据系统的特性来设置 innodb_lock_wait_timeout 来针对不同的需求
3 设置innodb_rollback_on_timeout 设置后,整体的事务的原子性得到了保证.