zoukankan      html  css  js  c++  java
  • Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction(mysql 事务方法debug后果)

    嗯,跑项目突然报这个错,请教了大佬:

    转载:https://blog.csdn.net/sonycong/article/details/90444375

    Error updating database.  Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

    解决办法:

    第一种:

    • 1.查询是否锁表
    • show OPEN TABLES where In_use > 0;
    • 2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)
    • show processlist
    • id 为5的证明一直在等待资源。
    • 3.杀死进程id(就是上面命令的id列)

    kill id 5

    第二种:

    • 1.查看下在锁的事务
    • SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
    • 2.杀死进程id(就是上面命令的trx_mysql_thread_id列)
    • kill 线程ID
    • 例子:
    • 查出死锁进程:SHOW PROCESSLIST
    • 杀掉进程 KILL 420821;

    其它关于查看死锁的命令:

    1:查看当前的事务
    SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

    2:查看当前锁定的事务

    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

    3:查看当前等锁的事务
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

  • 相关阅读:
    [nginx&php]相关的Q&A
    [C++] 类中的虚函数
    [Linux] 从外网访问内网硬盘
    官网上下载Python安装包的选择
    计数排序的优化版
    插入排序
    Python一些坑
    Linux 一些冷门实用的命令
    分布式爬虫中的在ubuntu镜像里面安装redis的一些细节(-)
    vscode快捷键
  • 原文地址:https://www.cnblogs.com/liruilong/p/13300300.html
Copyright © 2011-2022 走看看