千家信息网

如何分辨MySQL中的死锁和锁等待

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍如何分辨MySQL中的死锁和锁等待,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。【数据库版本】MySQL5.7程序报错1205 Lock wat timeout
千家信息网最后更新 2026年11月02日如何分辨MySQL中的死锁和锁等待

这篇文章给大家介绍如何分辨MySQL中的死锁和锁等待,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

【数据库版本】MySQL5.7

程序报错1205 Lock wat timeout exceeded,以为是deadlock,其实是两个概念,说明死锁监控模块是没问题的。死锁监控到的是死锁,而不是锁等待。

报错信息如下:

SQLSTATEHY000]:General error: 1205 Lock wat timeout exceeded; try restarting transaction (SQL: UPDATE xx set xxx = 100 where id=1 and rock_id > 1)

1213 Deadlock found when trying to get lock; try restarting transaction

https://www.cnblogs.com/tartis/p/9366574.html

https://dev.mysql.com/doc/refman/8.0/en/innodb-deadlock-example.html

MySQL 5.7我们可以通过下面语句查询锁状态信息

SELECT   r.trx_id waiting_trx_id,  r.trx_mysql_thread_id waiting_thread,  r.trx_query waiting_query,  b.trx_id blocking_trx_id,  b.trx_mysql_thread_id blocking_thread,  b.trx_query blocking_query FROM  information_schema.`INNODB_LOCK_WAITS` w   INNER JOIN information_schema.`INNODB_TRX` b     ON b.`trx_id` = w.`blocking_trx_id`   INNER JOIN information_schema.`INNODB_TRX` r     ON r.`trx_id` = w.`requesting_trx_id`;

MySQL8.0 我们通过如下语句查看锁信息

select * from x$innodb_lock_waits;

关于如何分辨MySQL中的死锁和锁等待就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

死锁 信息 内容 更多 语句 帮助 监控 不错 两个 兴趣 可以通过 小伙 小伙伴 数据 数据库 文章 概念 模块 版本 状态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技图片 为想互联网科技 互联网科技作文 华中科技大学互联网 互联网女皇 腾讯科技 新浪科技互联网 互联网科技教育视频 知域互联网科技有限公司大骗子 互联网科技与大数据专业 广州市恰铎互联网科技有限公司 消费医药和互联网科技 国大互联网教育科技有限公司工作 天津腾达互联网科技有限公司 如何创新互联网科技 群盈汇互联网科技有限公司 北京互联网科技类企业分布 互联网科技对化妆品行业 盐城市攀科互联网科技有限公司 广东猫王互联网科技有限公司电话 广州全民伙伴互联网科技有限公司 朗涯互联网科技 互联网科技缩写 上海卓越科技 互联网 剑昆互联网络科技有限公司临桂 央行互联网金融科技公司 互联网科技创新服务 佳云科技和互联网广告 互联网经济与金融科技 南博望互联网科技有限公司 易企秀互联网科技是做什么的
0