) [test]> set global innodb_status_output_locks=1;

Query OK,0 rows affected (0.00sec)

(root@localhost) [test]> show variables like ‘%innodb_status_output%‘;+----------------------------+-------+

| Variable_name | Value |

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

| innodb_status_output | OFF |

| innodb_status_output_locks | ON |

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

2 rows in set (0.00 sec)

如下是开启 innodb_status_output ,show engine innodb status 输出的详细信息:

找到 TRANSACTIONS , heap_no 2,3,4 表示的是插入的顺序,其中包含两个隐藏列, len 6 是指针列,len 7 是什么列来着忘了

在 show engine innodb status 中的 thread_id 对应的是 show processlist 中 processlist_id 。

这样看有点麻烦,可以借助 information_schema 中的几张表,innodb_trx,innodb_locks,innodb_lock_waits

在 5.7 版本中有一张 innodb_lock_waits

(root@localhost) [sys]> select * frominnodb_lock_waits\G*************************** 1. row ***************************wait_started:2019-02-28 16:26:18wait_age:00:00:18wait_age_secs:18locked_table: `test`.`lock_1`

locked_index:PRIMARYlocked_type: RECORD

waiting_trx_id:260217waiting_trx_started:2019-02-28 16:26:18waiting_trx_age:00:00:18waiting_trx_rows_locked:1waiting_trx_rows_modified:0waiting_pid:18waiting_query:update lock_1 set b=6 where a=4waiting_lock_id:260217:217:3:3waiting_lock_mode: X

blocking_trx_id:260213blocking_pid:19blocking_query:NULLblocking_lock_id:260213:217:3:3blocking_lock_mode: X

blocking_trx_started:2019-02-28 16:11:46blocking_trx_age:00:14:50blocking_trx_rows_locked:1blocking_trx_rows_modified:0sql_kill_blocking_query:KILL QUERY 19sql_kill_blocking_connection:KILL 19

1 row in set, 3 warnings (0.00 sec)

# kill query :表示杀掉查询,

# kill 表示这个连接也杀掉

四、AI 自增锁

MySQL 的自增存在一个回溯问题,简单说 MySQL 的自增是不持久化的。当数据库被异常重启 可以通过 select max(auto_inc_col)from t for update;

重新获得表的自增起始id 值,这个可能会造成 id 冲突。

自增锁在提交完成之后就已经被释放了。所以自增锁持有的时间是SQL的执行时间。假如你插入的是一个大事务的话就会出现阻塞了。

而x,ix 等是需要commit 之后才能释放的。

设置 innodb_autoinc_lock_mode=2 // 每一条记录加锁释放,这个提高了并发能力,但是可能出现一条语句中的数据不连续了。

MySQL 有关锁的简单介绍

标签:pid   record   src   primary   thread   slist   orm   不同的   info

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/Camiluo/p/10444582.html

mysql非关锁_MySQL 有关锁的简单介绍相关推荐

  1. mysql 前后代表什么_MySQL的锁

    1.什么是锁 锁机制用于管理对共享资源的并发访问. lock与latch latch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须非常短.若持续的时间长,则应用的性能会非常差.在InnoDB存储 ...

  2. mysql innodb默认的锁_Mysql InnoDB锁

    MySQL 不同引擎的锁机制: MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁 InnoD ...

  3. mysql innodb 锁_MySQL/InnoDB锁机制

    显式加锁 select ... lock in share mode:加 S 锁 select ... for update:加 X 锁 MySQL快照读和当前读 在一个支持MVCC并发控制的系统中, ...

  4. mysql空事务死锁_mysql空当锁导致死锁_mysql

    间隙锁的分析: 表结构如下: CREATE TABLE `test_gap` ( `ID` int(11) NOT NULL, -- 主键 `NAME` varchar(255) NOT NULL, ...

  5. mysql mdl 锁_MySQL MDL锁

    MDL全称为metadata lock,即元数据锁.MDL锁主要作用是维护表元数据的数据一致性,在表上有活动事务(显式或隐式)的时候,不可以对元数据进行写入操作.因此从MySQL5.5版本开始引入了M ...

  6. mysql外键读锁_MySQL的锁

    1.什么是锁 锁机制用于管理对共享资源的并发访问. lock与latch latch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须非常短.若持续的时间长,则应用的性能会非常差.在InnoDB存储 ...

  7. mysql全局读写怎么锁_MySQL全局锁和表锁

    最近正好在看操作系统中关于线程,锁的部分,也可以学习一下数据库种的锁. MySQL的锁分为全局锁,表级锁,行锁三类. 全局锁 名思义,全局锁就是对整个数据库实例加锁.MySQL提供了一个加全局读锁的方 ...

  8. mysql 全局锁_Mysql全局锁和表级锁

    以前对Mysql的锁的认识,只了解表锁和行锁,其实Mysql的锁的种类还是不少的,有全局锁,表级锁,行级锁,还有元数据锁,间隙锁,临界锁. 一 全局锁 Mysql的全局锁是对整个实例加锁,加锁之后,数 ...

  9. mysql默认使用悲观锁_mysql乐观锁和悲观锁详解

    mysql乐观锁和悲观锁详解 相信很多朋友在面试的时候,都会被问到乐观锁和悲观锁的问题,如果不清楚其概念和用法的情况下,相信很多朋友都会感觉很懵逼,那么面试的结果也就不言而喻了. 那么乐观锁和悲观锁到 ...

最新文章

  1. ucos操作系统的内核有哪些调度方法
  2. animation动画的使用
  3. Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters
  4. ORA-19809: limit exceeded for recovery files问题解决
  5. oracle undo head,淺談Oracle的undo管理
  6. 文件夹批量重命名不会操作?快来看看吧
  7. Carpet-mod常用的用法记录
  8. 网络型PLC可编程控制器实验装置(立式、挂箱积木式)
  9. 从React专利事件看开源软件许可
  10. 腾讯云服务器用户名在哪里看,腾讯云服务器如何查看账号操作日志信息
  11. 飞思卡尔Kinetis系列单片机被锁住后,怎么解锁
  12. android8.1 相机(SnapdragonCamera)长按拍照时关闭闪光灯
  13. 计算机正确的坐姿教案,【幼儿园坐姿教案】幼儿园大班坐姿教案_关于幼儿坐姿的教案_亲亲宝贝网...
  14. 电子计算机常用面试题,计算机常用面试题文档.doc
  15. z中国禽肉深加工市场盈利动态与竞争前景分析报告2022-2027年
  16. java 内部类声明 抽象类_Java 抽象类、接口、内部类
  17. 实习日记(5-18)Socket与MQTT
  18. linux设备驱动归纳总结(八):2.match.probe.remove
  19. 2022年武汉江汉区第二批区级科技企业孵化器和众创空间申报(附申报时间+要求+材料)
  20. 项目管理(PMP)真题解析(一)

热门文章

  1. OpenCV鼠标滑轮事件
  2. kafka-topics.sh 详细说明
  3. Python游戏概率补偿算法-马尔科夫链
  4. 搭建ruby + jekyll + github pages
  5. Eval Reset忘记重置怎么办
  6. Wifi设备接入流程
  7. 低版本ie浏览器禁用提示
  8. 2021 CNSS招新赛 WEB WP
  9. springmvc使用easypoi导出导入Excel表(1):导出Excel表
  10. 信奥中的数学:质数与合数