-- 查询是否锁表

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%';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| Table_locks_immediate | 2979  |

| Table_locks_waited    | 0     |

+-----------------------+-------+

2 rows in set (0.00 sec))

如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。

获取InnoDB行锁争用情况

可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:

mysql> show status like 'innodb_row_lock%';

+-------------------------------+-------+

| Variable_name                 | Value |

+-------------------------------+-------+

| InnoDB_row_lock_current_waits | 0     |

| InnoDB_row_lock_time          | 0     |

| InnoDB_row_lock_time_avg      | 0     |

| InnoDB_row_lock_time_max      | 0     |

| InnoDB_row_lock_waits         | 0     |

+-------------------------------+-------+

5 rows in set (0.01 sec)

如果发现锁争用比较严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高,还可以通过

解锁

第一种

show processlist;

找到锁进程,kill id ;

第二种

mysql>UNLOCK TABLES;

锁表

锁定数据表,避免在备份过程中,表被更新

mysql>LOCK TABLES tbl_name READ;

为表增加一个写锁定:

mysql>LOCK TABLES tbl_name WRITE;

mysql锁表与解锁相关推荐

  1. mysql 锁表与解锁

    show processlist; kill 6924 show full processlist;  #列出全部进程 select * from information_schema.PROCESS ...

  2. [MySql]锁表与解锁

    摘要 为啥会出现锁表的情况?锁表会导致数据表的其他操作超时,频繁的插入修改查询很容易出现锁表的情况.如果遇到这种情况,临时的解决办法,可以通过下面的方式进行解锁.如果长期有效的解决,那么就需要优化项目 ...

  3. mysql锁表和解锁语句

    对于MySQL来说,有三种锁的级别:页级.表级.行级 页级的典型代表引擎为BDB. 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM. 行级的典型代表引擎为INNODB. -我们实 ...

  4. mysql 如何解锁_mysql锁表如何解锁

    什么是MySQL锁表? 为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. MySQL有三种锁的级别:页级.表级.行级. MyISAM和MEMORY存储引擎采 ...

  5. Oracle/Mysql查看锁表与解锁表

    Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...

  6. mysql锁表查询和解锁操作

    mysql锁表查询和解锁操作 1.在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况SELECT * FRO ...

  7. 一篇学会:mysql锁表查询和解锁操作

    在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况 SELECT * FROM information_sc ...

  8. mysql 并发避免锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法

    本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...

  9. 并发产生mysql锁表_Yii+MYSQL锁表防止并发情况下重复数据的方法

    本文实例讲述了Yii+MYSQL锁表防止并发情况下重复数据的方法.分享给大家供大家参考,具体如下: lock table 读锁定 如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从 ...

最新文章

  1. java开发企业级权限管理系统_Java开发企业级权限管理系统 视频教程
  2. Fcoin Token ( FT )——数字货币交易所的颠覆者,还是无情镰刀的收割者
  3. windows server 2003R2\2008R2\2012\2016 安装【故障转移群集】cluster
  4. ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
  5. c语言sort函数_C语言经典面试题目及答案详解(二)
  6. 集福宝 支付宝2021年最新一款集福神器
  7. 流程平台:示例流程 - 主机申请审批流程
  8. 第二把数独游戏 代码
  9. IE6 浏览器常见兼容问题 大汇总(23个)
  10. 富士通Fujitsu DPK9500GA Pro 打印机驱动
  11. 使用原生js 监听video 当前播放时间和是否点击了播放或者暂停按钮
  12. 程序员社死瞬间3.0 ……
  13. 前端大牛工程师Nicholas C. Zakas:我得到的最佳职业生涯建议
  14. Codeforces469div2F curfew(贪心)
  15. 安全宝冯景辉:每周都有超过100G大型DDoS攻击
  16. URAL 2037 Richness of binary words (回文子串,找规律)
  17. 实用电脑软件安利,朋友们快来挖宝
  18. uniapp 上传图片到华为云obs
  19. Java设计模式大全
  20. DFS(剪枝与优化) - 洛谷 P1361 - 小猫爬山

热门文章

  1. Android刘海屏适配精炼详解
  2. 爬取用益信托网部分数据
  3. 浏览器主页修改不了解决办法
  4. 程序员转战在线教育,听听华安怎么说。
  5. Executor框架线程池参数配置原则
  6. html金字塔写法,我如何编写一个可视图以金字塔形式显示静态html文件?
  7. Java蓝屏代码 恶搞小白
  8. 使用cmake在自己的jni中倒入第三方so库遇到的问题
  9. 为什么苹果6没有录屏_iPhone12为什么没有充电器 苹果12包装盒为什么没充电头
  10. 一眼万年的 Keychron 无线机械键盘