MySQL数据库执行Update卡死问题的解决方法
作者:共饮一杯无 发布时间:2024-01-15 16:06:50
标签:mysql,update,卡死
执行数据库更新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#';
来源:https://blog.csdn.net/qq_35427589/article/details/123399343
0
投稿
猜你喜欢
- 0 引言前几天,星球有人提到贪吃蛇,一下子就勾起了我的兴趣,毕竟在那个Nokia称霸的年代,这款游戏可是经典中的经典啊!而用Python(蛇
- 一、前言前几天在Python最强王者群有个叫【dcpeng】的粉丝问了一个关于Pandas中的问题,这里拿出来给大家分享下,一起学习。想问一
- 如下所示:def user_degree(self): degree = self.user.update_grade() &n
- 什么是结构体Go语言中没有“类”的概念,也不支持“类”的继承
- 自己前端开发中常用到的一些技巧及问题解决方法,会常更新,希望对前端路上的朋友有帮助。1、文章标题列表中日期居右显示的方法(提供了两种方法,使
- 上文中,我们一起学习了手把手教你实现一个 Python 计时器。本文中,云朵君将和大家一起了解什么是上下文管理器 和 Python
- 在进行数据库的查询时,会经常遇到这样的情况:例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的字符,例
- 这篇文章主要介绍了Python hashlib模块加密过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 手动安装Anaconda环境变量安装 Anaconda后,在命令行执行python命令或conda命令会报错无法找到此时就需要我们手动添加环
- 服务端监听端口 listen()方法:net.listen({监听类型},{监听的ip和端口})(conn, err){}返回值:conn是
- 1.global关键字默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全局变量进行重新赋值读取:CITY=
- 禁用GPU设置# 在import tensorflow之前import osos.environ['CUDA_VISIBLE_DEV
- 本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧高阶函数1、可以使用函数对象作
- 我就废话不多说了,大家还是直接看代码吧~import tensorflow as tffrom sklearn.metrics import
- Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种:画笔控制函数pe
- 本文实例讲述了python查找指定具有相同内容文件的方法。分享给大家供大家参考。具体如下:python代码用于查找指定具有相同内容的文件,可
- 简介CountVectorizer官方文档。将一个文档集合向量化为为一个计数矩阵。如果不提供一个先验字典,不使用分析器做某种特征选择,那么特
- 最近用python写了一个远程监控的程序,主要功能有:1.用邮件控制所以功能2.可以对屏幕截图,屏幕截图发送到邮箱3.可以用摄像头获取图片,
- 本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。总体而言Python中常见的数据结构可以统称
- 本文介绍了关于redux-saga中take使用方法详解,分享给大家,具体如下:带来一个自己研究好久的API使用方法.redux-saga中