文章转自 html
https://www.cnblogs.com/su-han/p/6204016.htmlhtm
https://www.cnblogs.com/mydriverc/p/8297108.htmlblog
https://www.cnblogs.com/perfei/p/9689741.html事务
https://www.cnblogs.com/xiluhua/p/9063660.htmlinnodb
重要时间查询im
show global variables like '%timeout'; 数据
一、innodb_rollback_on_timeout查询
若是使用MySQL 5.6:db
innodb_rollback_on_timeout=off的状况下,会回滚最后的形成锁等待的语句,事务没有自动结束.可是这样会形成数据的不一致,破坏了事务的原子性。img
innodb_rollback_on_timeout=on的状况下,整个事务回滚后会自动建立一个事务。
若是使用MySQL 5.7:
innodb_rollback_on_timeout=off的状况下和5.6版本是同样的。
innodb_rollback_on_timeout=on的状况下,整个事务已经自动回滚,不会再自动建立事务。
因此无论是5.6的版本仍是5.7的版本,innodb_rollback_on_timeout最好设置成ON,这样能够避免破坏事务原子性,保证数据一致性。惟一的区别是在5.7版本下须要本身手动开启一个事务。