zoukankan      html  css  js  c++  java
  • mysql锁住 Lock wait timeout exceeded; try restarting transaction

     

    方案一

    在mysql中数据库information_schema中查询下面三张表

    select * from innodb_trx; ## 当前运行的所有事务
    
    select * from innodb_locks; ## 当前出现的锁
    
    select * from innodb_lock_waits; ## 锁等待的对应关系

     在innodb_trx中找到被锁线程的id,kill掉

     kill xxxx

     

     

    方案二、根据命令show processlist查询起因

    命令show processlist详解

    或者使用select * from information_schema.`PROCESSLIST`;进行查询

    1、id:标识

    2、User: 显示当前用户,如果不是 root ,这个命令就只显示你权限范围内的 sql 语 句

    3、host:显示这个语句是从哪个 ip 的哪 个端口上发出的,可以用来追踪出问题语句的用户

    4、db:显示这个进程目前连接的是 哪个数据库

    5、Command :显示当前连接的执行的命令,一般就是休眠( sleep ),查询( query ),连接( connect ).

    6、Time:此这个状态持续的时间,单位是秒

    7、State列:显示使用当前连接的 sql 语句的状态,很重要的列,后续会有所有的状态的描述。请注意, state 只是语句执行中的某一个状态,一个 sql 语 句,以查询为例,可能需要经过 copying to tmp table , Sorting result  , Sending data 等状态才可以完成。

    8、Info:显示这个 sql 语 句,因为长度有限,所以长的 sql 语句就显示不全,但是是一个判断问题语句的重要依据

     

     

  • 相关阅读:
    windows性能计数器
    bootstrap2.0与3.0的区别
    prototype.js简介
    .NET生成静态页面并分页
    .net 生成 静态页面
    传统的生成静态页面
    vimrc
    nginx模块动态加载(http)
    ffmpeg --help full
    confiure
  • 原文地址:https://www.cnblogs.com/kiko2014551511/p/11532810.html
Copyright © 2011-2022 走看看