mysql:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction_annyangya的博客-程序员秘密

技术标签: python  mysql  

运行sql到一半时计算机进入睡眠状态,打开后停止pycharm重新运行,出现如下错误:

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

参考:https://blog.csdn.net/qq_32447301/article/details/78688032?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-3&spm=1001.2101.3001.4242

解决了问题。

  • 终端打开mysql后,查看数据库的隔离级别, 为重复读
mysql> select @@tx_isolation;
+-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
  • 查看线程情况:
mysql> show full processlist;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    2324
Current database: *** NONE ***

+------+------+------------------+------+---------+------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------省略n行+n行的sql语句
| 2324 | root | localhost        | NULL | Query   |    0 | init     | show full processlist     
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6 rows in set (0.08 sec)
  • 显示了正在执行的慢SQL记录线程,尝试kill2324,提示:
mysql> kill 2324
    -> ;
ERROR 1317 (70100): Query execution was interrupted

大概就是说我之前做的查询被中断了

  • 查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,如果是,就证明这个sleep的线程事务一直没有commit或者rollback而是卡住了,我们需要手动kill掉。
mysql> SELECT * FROM information_schema.INNODB_TRX\G;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    2325
Current database: *** NONE ***

*************************** 1. row ***************************
                    trx_id: 47450
                 trx_state: RUNNING
               trx_started: 2020-08-07 12:25:19
     trx_requested_lock_id: NULL
          trx_wait_started: NULL
                trx_weight: 345173
       trx_mysql_thread_id: 2320
                 trx_query: update goods set goods.name_acronym = case when goods.id = 1 then 'putao' when goods.id = 2 then 'hamigua' when goods.id = 3 then 'mangguo' when goods.id = 4 then 'mangguo' when goods.id = 5 then 'mangguo' when goods.id = 6 then 'xiangjiao' when goods.id = 7 then 'mugua' when goods.id = 8 then 'taozi' when goods.id = 9 then 'taozi' when goods.id = 10 then 'xiahei' when goods.id = 11 then 'liulian' when goods.id = 12 then 'shanzhu' when goods.id = 13 then 'aijicheng' when goods.id = 14 then 'jinkouhongxiyou' when goods.id = 15 then 'aogan' when goods.id = 16 then 'longyan' when goods.id = 17 then 'sanliulian' when goods.id = 18 then 'lanmei' when goods.id = 19 then 'jinkouhongti' when goods.id = 20 then 'jinkouwuzihongti' when goods.id = 21 then 'xingziliyanyun' when goods.id = 22 then 'xiaobaixing' when goods.id = 23 then 'xiaheili' when goods.id = 24 then 'jiangbo' when goods.id = 25 then 'putao' when goods.id = 26 then 'ceshi' when goods.id = 27 then 'youtao' when goods.id = 28 then 'xiahei' when goods.id =
       trx_operation_state: NULL
         trx_tables_in_use: 1
         trx_tables_locked: 1
          trx_lock_structs: 3973
     trx_lock_memory_bytes: 390696
           trx_rows_locked: 345171
         trx_rows_modified: 341200
   trx_concurrency_tickets: 0
       trx_isolation_level: REPEATABLE READ
         trx_unique_checks: 1
    trx_foreign_key_checks: 1
trx_last_foreign_key_error: NULL
 trx_adaptive_hash_latched: 0
 trx_adaptive_hash_timeout: 10000
          trx_is_read_only: 0
trx_autocommit_non_locking: 0
1 row in set (0.02 sec)

ERROR: 
No query specified

  • kill掉trx_mysql_thread_id:2320
mysql> kill 2320;
Query OK, 0 rows affected (0.00 sec)
  • 再去查询INNODB_TRX表,就没有阻塞的事务sleep线程存在了
mysql> SELECT * FROM information_schema.INNODB_TRX\G;
Empty set (0.00 sec)

ERROR: 
No query specified
  • 再次查看线程情况
mysql> show full processlist;
+------+------+------------------+------+---------+------+-------+-----------------------+
| Id   | User | Host             | db   | Command | Time | State | Info                  |
+------+------+------------------+------+---------+------+-------+-----------------------+
| 2316 | root | 172.20.0.1:36104 | ??   | Sleep   |   47 |       | NULL                  |
| 2317 | root | 172.20.0.1:36108 | ??   | Sleep   |   47 |       | NULL                  |
| 2318 | root | 172.20.0.1:36112 | ??   | Sleep   |   47 |       | NULL                  |
| 2319 | root | 172.20.0.1:36116 | ??   | Sleep   |   47 |       | NULL                  |
| 2325 | root | localhost        | NULL | Query   |    0 | init  | show full processlist |
+------+------+------------------+------+---------+------+-------+-----------------------+
5 rows in set (0.00 sec)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ayangann915/article/details/107916441

智能推荐

计算机单词 常用量_计算机常用单词 push_两条小鱼的博客-程序员秘密

1.file,n.文件;v.保存文件 [faɪl]2.command,n.命令,指令 [kəˈmænd]3.use,v.使用,用途 [jus]4.program,n.程序 [ˈproʊgræm]5.line,n.(数据,程序)行,线路 [laɪn]6.if,conj.如果 [ɪf]7.display,vt.显示,显示器 [dɪˈsple]8.set,v.设置,n.集合 [sɛt]9...

从头实现一个深度学习对话系统--Seq-to-Seq模型详解_seqtoseq_liuchongee的博客-程序员秘密

上一篇文章已经介绍了几篇关于Seq-to-Seq模型的论文和应用,这里就主要从具体的模型细节、公式推导、结构图以及变形等几个方向详细介绍一下Seq-to-Seq模型。这里我们主要从下面几个层次来进行介绍:Seq-to-Seq框架1Seq-to-Seq框架2Seq-to-Seq with Attention(NMT)Seq-to-Seq with Attention各种变形Seq-to-Se

性能测试、负载测试、压力测试、稳定性测试?_稳定性测试和负载测试_软件测试很重要的博客-程序员秘密

性能测试、负载测试、压力测试、稳定性测试?什么是性能测试(performance testing)?答案:系统在一定的压力情况下,查看cpu,内存,磁盘,网络带宽,TPS、响应时间、并发用户数、等各项指标,通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求,就是在特定的运行条件下验证系统的能力状况。什么时候做性能测试?答案:功能测试已完成并稳定运行,性能测试环境已搭建,项目上线之间在生产环境做性能测试。什么是负载测试(Load test)?答案:负载测试主

7-1 两个有序链表序列的合并 (纯数组写的,c++ 16MB_已知两个非降序链表序列s1与s2,设计函数构造出s1与s2合并后的新的非降序链表s3。_xinweiweixin的博客-程序员秘密

7-1 两个有序链表序列的合并 (纯数组写的,c++ 16MB已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10#incl

Freertos代码之初始化_oskernelinitialize_xiaozhiwise的博客-程序员秘密

芯 片: STM32F427VITx 指 令 集: ARMV7、Thumb2编译环境: arm gccFreeRTOS的初始化从MX_FREERTOS_Init()开始。此函数调用了osKernelInitialize()和创建一个默认的任务,此任务可有可无。/** freertos.c*/ void MX_FREERTOS_Init(void) { osKernelInitialize(); #if 0 cons...

随便推点

win电脑遇到端口被占用的情况该如何查看并将其关闭_开发转测试的博客-程序员秘密

idea启动服务的时候发现端口被占用,解决方法。1.重启电脑2.用Dos命令关闭现在具体说说第二种方法1.netstat -ano  ---------该命令是查看当前哪些端口正在被使用C:\Users\lunmei>netstat -ano活动连接 协议 本地地址 外部地址 状态 PID TCP ...

VS2019 error LNK1104:无法打开***.exe的报错_vs无法打开exe文件 1104_一low永逸的博客-程序员秘密

项目本来好好的,再调试突然报错,而且无法删除文件夹出现了error LNK1104:无法打开***.exe的报错,而且关闭VS之后无法删除项目文件夹中的x64文件夹,重启电脑,删除文件夹x64,重新生成项目或编译项目,没有报错...

全志平台boot.scr、script.bin文件介绍(“全志设备树系统”)_fex文件_liefyuan的博客-程序员秘密

文章目录一、boot.scr概述1.1 boot.scr文件介绍1.2 如何生成boot.scr二、script.bin概述2.1 script.bin文件介绍(类似:xxxx.dtb)2.2 sys_config.fex文件介绍(类似:xxxx.dtb)2.3 fex2bin与bin2fex文件介绍(类似:dtc)二、sys_config.fex文件一、boot.scr概述参考:LiCheePi_Zero底层开发1.1 boot.scr文件介绍 根据资料描述 https://github.com/

unity多人_导航Unity的多人Netcode过渡_culiao6493的博客-程序员秘密

unity多人 该博客的最新更新时间为2020年4月27日。 (This blog was last updated, 27th April 2020.)As many of you know, we put UNet into maintenance mode because we believe there is a better way forward with our new conne...

VC之CString,wchar_t,int,string,char*之间的转换_IT挖矿工的博客-程序员秘密

1. CString 转 wchar_tCString path = "asdf";wchar_t wstr[256] = path.AllocSysString();或者:wchar_t wcstring[256];MultiByteToWideChar(CP_ACP,0,path,-1,wcstring,256);2. wchar_t转CString

推荐文章

热门文章

相关标签