zoukankan      html  css  js  c++  java
  • mysql 事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法

    锁表问题提示:Lock wait timeout exceeded; try restarting transaction

    解决锁表方法

    查询数据库阻塞的进程
    SELECT * FROM information_schema.innodb_trx

    主要看箭头指向的这几个字段,如果有阻塞数据(不为0的就是阻塞的),找到后在根据下图这个字段:try_mysql_thread_id 作为这条数据的主键id执行这个sql进行删除: kill id ;(杀死对应id的进程).假设这里try_mysql_thread_id=进程id 的这条数据是锁了。我们执行 kill 进程id 删除就不在锁表了

    常用锁表命令

    //查看进程id,然后用kill id杀掉进程
    show processlist;
    SELECT * FROM information_schema.PROCESSLIST;
    //查询正在执行的进程
    SELECT * FROM information_schema.PROCESSLIST where length(info) >0 ;

    //查询是否锁表
    show OPEN TABLES where In_use > 0;

    //查看被锁住的
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
    //等待锁定
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
    //杀掉锁表进程
    kill 12041

  • 相关阅读:
    汇编 gdb调试
    汇编 运行错误解决办法
    binutils安装
    汇编错误
    汇编
    pthread_create()
    error2019-01-17 宏STDOUT_FILENO
    2019-01-17 跳至首行
    .NET MVC 两种视图引擎(Razor、Aspx)
    ECharts属性设置
  • 原文地址:https://www.cnblogs.com/hghua/p/13323540.html
Copyright © 2011-2022 走看看