一个大事务,有很多更新,现在被回滚了,但是又着急关机重启,怎么办才好?
Posted 周万春
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个大事务,有很多更新,现在被回滚了,但是又着急关机重启,怎么办才好?相关的知识,希望对你有一定的参考价值。
一个大事务,有很多更新,现在被回滚了,但是又着急关机重启,怎么办才好? 1、首先,尽量避免在mysql中执行大事务,因为大事务将会带来主从复制延迟等问题。 2、大事务被kill,MySQL会自动进行回滚操作,通过show engine innodb status的TRANSACTIONS可以看到ROLLING BACK的事务,并且在回滚操作的时候仍然会持有相应的行锁。 3、此时如果强行关闭MySQL,等到MySQL再次启动后,仍然会进行回滚动作。 4、因此,为确保数据安全,建议还是耐心等待回滚完成以后再进行关机重启。关机重启前,可以调低innodb_max_dirty_pages_pct让脏页尽量刷新完毕,并且关闭innodb_fast_shutdown. 5、假如实在没有办法需要关机的情况下,可以kill -9先关闭MySQL,前提是需要设置双一保证事务安全,否则可能丢更多事务数据。然后重启实例后innodb会自行crash recovery回滚之前的事务。 PS,kill -9是高危操作,可能导致MySQL无法启动等不可预知的问题,请谨慎使用。
以上是关于一个大事务,有很多更新,现在被回滚了,但是又着急关机重启,怎么办才好?的主要内容,如果未能解决你的问题,请参考以下文章