查看 MySQL 是否自动提交事务,并设置:
show variables like '%autocommit%';
set autocommit=0;
查看进程
show processlist;
查看锁
show global status like 'table_locks%';
show status like '%lock%';
查看上个导致死锁的命令
show engine innodb status \G;
1 ) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
理论上说当一个资源加锁时,另外一个资源请求该资源会进入等待状态,该请求事务在超时时会进行回滚。
死锁的几个情形:
Update 时是执行什么级别锁定,锁的过程是怎样的。
如何获取完整的 MySQL 执行日志,包括其错误,异常等。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于