Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql锁机制

MySQL的锁机制及排查锁问题解析

作者:快乐江小鱼

MySQL的锁机制包括行锁和表锁,行锁进一步细分为RecordLock、GapLock和Next-keyLock,行锁因其细粒度而减少冲突但开销大,可能引起死锁,本文介绍MySQL的锁机制及排查锁问题,感兴趣的朋友一起看看吧

MySQL的锁机制及排查锁问题

排查锁的问题

-- 查看所有线程
show full processlist;
-- 查看正在使用的表
show open tables;
-- 查看innodb服务器信息
show engine innodb status;
-- 查看表锁:Table_locks_waited-出现表锁争用而发生的等待次数,Table_locks_immediate-可以立即获取锁的次数
show status like 'table%';

查看行锁的情况

-- Innodb_row_lock_current_waits:当前正在等待锁定的数量
-- Innodb_row_lock_time:从系统启动到现在锁定的总时间
-- Innodb_row_lock_time_avg:每次等待所花的平均时间
-- Innodb_row_lock_time_max:从系统启动到现在等待最长的一次所花的时间
-- Innodb_row_lock_waites:从系统启动到现在总共等待的次数
show status like 'innodb_row_lock%';
-- 查看information_schema库
-- innodb_trx表用来显示当前运行innodb事务情况,不能判断锁的情况
-- innodb_locks表可以查看锁的情况
-- innodb_lock_waits表可以查看锁等待的情况

到此这篇关于MySQL的锁机制及排查锁问题的文章就介绍到这了,更多相关mysql锁机制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文