mysql锁表与解锁
-- 查询是否锁表
show OPEN TABLES ;
-- 查询进程
show processlist ;
-- 查询到相对应的进程,然后杀死进程
kill id; -- 一般到这一步就解锁了
-- 查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
-- 查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
-- 解锁表
UNLOCK TABLES;
作者:小鱼儿_f32a
链接:https://www.jianshu.com/p/aa99df051c8f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
查询是否锁表
show OPEN TABLES where In_use > 0;
查看所有进程
MySQL:
show processlist;
mariabd:
show full processlist;
查询到相对应的进程===然后 kill id
杀掉指定mysql连接的进程号
kill $pid
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
查看innodb引擎的运行时信息
show engine innodb status\G;
查看造成死锁的sql语句,分析索引情况,然后优化sql语句;
查看服务器状态
show status like '%lock%';
查看超时时间:
show variables like '%timeout%';
MyISAM表锁
MyISAM存储引擎只支持表锁,这也是MySQL开始几个版本中唯一支持的锁类型。随着应用对事务完整性和并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎,后来慢慢出现了支持页锁的BDB存储引擎和支持行锁的InnoDB存储引擎(实际 InnoDB是单独的一个公司,现在已经被Oracle公司收购)。但是MyISAM的表锁依然是使用最为广泛的锁类型。本节将详细介绍MyISAM表锁的使用。
查询表级锁争用情况
可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
mysql> show status like 'table%';
+-----------------------+-------+
+-----------------------+-------+
| Table_locks_immediate | 2979 |
+-----------------------+-------+
如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。
获取InnoDB行锁争用情况
可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:
mysql> show status like 'innodb_row_lock%';
+-------------------------------+-------+
+-------------------------------+-------+
| InnoDB_row_lock_current_waits | 0 |
| InnoDB_row_lock_time_avg | 0 |
| InnoDB_row_lock_time_max | 0 |
+-------------------------------+-------+
如果发现锁争用比较严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高,还可以通过
mysql>LOCK TABLES tbl_name READ;
mysql>LOCK TABLES tbl_name WRITE;
mysql锁表与解锁相关推荐
- mysql 锁表与解锁
show processlist; kill 6924 show full processlist; #列出全部进程 select * from information_schema.PROCESS ...
- [MySql]锁表与解锁
摘要 为啥会出现锁表的情况?锁表会导致数据表的其他操作超时,频繁的插入修改查询很容易出现锁表的情况.如果遇到这种情况,临时的解决办法,可以通过下面的方式进行解锁.如果长期有效的解决,那么就需要优化项目 ...
- mysql锁表和解锁语句
对于MySQL来说,有三种锁的级别:页级.表级.行级 页级的典型代表引擎为BDB. 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM. 行级的典型代表引擎为INNODB. -我们实 ...
- mysql 如何解锁_mysql锁表如何解锁
什么是MySQL锁表? 为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. MySQL有三种锁的级别:页级.表级.行级. MyISAM和MEMORY存储引擎采 ...
- Oracle/Mysql查看锁表与解锁表
Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...
- mysql锁表查询和解锁操作
mysql锁表查询和解锁操作 1.在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况SELECT * FRO ...
- 一篇学会:mysql锁表查询和解锁操作
在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况 SELECT * FROM information_sc ...
- mysql 并发避免锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法
本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...
- 并发产生mysql锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法
本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...
最新文章
- java开发企业级权限管理系统_Java开发企业级权限管理系统 视频教程
- Fcoin Token ( FT )——数字货币交易所的颠覆者,还是无情镰刀的收割者
- windows server 2003R2\2008R2\2012\2016 安装【故障转移群集】cluster
- ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
- c语言sort函数_C语言经典面试题目及答案详解(二)
- 集福宝 支付宝2021年最新一款集福神器
- 流程平台:示例流程 - 主机申请审批流程
- 第二把数独游戏 代码
- IE6 浏览器常见兼容问题 大汇总(23个)
- 富士通Fujitsu DPK9500GA Pro 打印机驱动
- 使用原生js 监听video 当前播放时间和是否点击了播放或者暂停按钮
- 程序员社死瞬间3.0 ……
- 前端大牛工程师Nicholas C. Zakas:我得到的最佳职业生涯建议
- Codeforces469div2F curfew(贪心)
- 安全宝冯景辉:每周都有超过100G大型DDoS攻击
- URAL 2037 Richness of binary words (回文子串,找规律)
- 实用电脑软件安利,朋友们快来挖宝
- uniapp 上传图片到华为云obs
- Java设计模式大全
- DFS(剪枝与优化) - 洛谷 P1361 - 小猫爬山