问题起因:

mysql死锁,等待资源,事务锁

解决办法如下:
SHOW PROCESSLIST显示哪些线程正在运行
如果你有PROCESS权限,你可以查看所有的线程。否则,你只能查看你自己当前账户的线程。如果你没有使用FULL关键字,你只能查看每个记录中Info字段里面的前100个字符。

Lock wait timeout exceeded; try restarting transaction-LMLPHP

参数
id       #ID标识,要kill一个语句的时候很有用
use      #当前连接用户
host     #显示这个连接从哪个ip的哪个端口上发出
db       #数据库名
command  #连接状态,一般是休眠(sleep),查询(query),连接(connect)
time     #连接持续时间,单位是秒
state    #显示当前sql语句的状态
info     #显示这个sql语句


如果某个线程有问题,可以执行kill指令:
kill指令支持两个可选参数,CONNECTION以及QUERY。
connection选项,kill的时候,将连接也断掉,而query选项,kill的过程只是将该指令杀掉,连接还保持。 kill指令不指定connection或者query选项时,默认是connection。


 

01-02 13:22