MySQL数据库执行Update卡死问题怎么解决
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍了MySQL数据库执行Update卡死问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据库执行Update卡死问题怎么解决文章都会有
千家信息网最后更新 2025年11月08日MySQL数据库执行Update卡死问题怎么解决
这篇文章主要介绍了MySQL数据库执行Update卡死问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据库执行Update卡死问题怎么解决文章都会有所收获,下面我们一起来看看吧。
问题分析
一般都是数据库事务未提交,导致update或者delete卡死。
解决办法
在执行完更新或删除后,记得将事务提交commit;
找到数据库客户端,执行commit操作。
如果还不行。 那么应该是数据库在执行数据操作失败 or 事务未提交 之后,将需要执行的sql语句锁死了。
过程复现和解决
通过如下命令查看数据库的自动提交状态
show variables like 'autocommit';
通过SQL设置数据库自动自动提交为关闭
-- on为开启,off为关闭set autocommit=off;-- 或者1为开启,0为关闭set autocommit=0;
表中数据如下:

打开两个窗口分别执行update操作
update car set color ='银色' where id = 1;update car set color ='红色' where id = 1;
查询正在执行的事务:
SELECT * FROM information_schema.INNODB_TRX;
根据图中事务的线程ID(trx_mysql_thread_id)可以看出对应的mysql 线程:一个1084 (update正在等待锁)另一个是1089(update 正在执行 没有提交事务)
可以使用mysql命令杀掉线程:kill 线程id
kill 1089;
期间如果并未杀掉持有锁的线程:则第二个update语句会提示等待锁超时。
相关命令:
-- 查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; -- 查看等待锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;-- 查询mysql数据库中存在的进程select * from information_schema.`PROCESSLIST`(show processlist;)
扩展
oracle的操作方式:
查询锁定记录
SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;
删除锁定记录
ALTER system KILL session 'SID,serial#';
关于"MySQL数据库执行Update卡死问题怎么解决"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"MySQL数据库执行Update卡死问题怎么解决"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
数据
数据库
事务
问题
线程
正在
命令
知识
查询
内容
篇文章
语句
不行
两个
价值
办法
客户
客户端
操作简单
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发软件哪家好
怎么管理数据库
淄博红色文化馆软件开发
网络安全防控难度
软件开发技术面试题
网络安全的几种技术
青浦区信息网络技术
网络技术的技术服务
智能呼叫中心软件开发
邹平仓储库存软件开发
qt删除数据数据库连接
网络安全行稳致远
网络安全征文活动策划案
调用服务器失败
win10服务器运行失败
正规网络技术转让
服务器分区格式exfat
有什么网络安全服务
天津途致臻网络技术贴吧
软件开发人员名字
张坤网络安全
方舟服务器优质推荐
手机连服务器失败
腾讯的软件开发流程
网桥管理服务器地址
华为软件开发会外派吗
女人视频软件开发
服务器版 winpe
数据库学习技术路线图
遥志邮件服务器破解版