执行语句
UPDATE `video_teacher` SET `video_id` = 3573, `live_id` = '0', `type` = 1 WHERE `uuid` = '1319610d3b95c611e2af3e000c29d6be57'报错:Lock wait timeout exceeded; try restarting transaction查看Innodb状态:
mysql tables in use 1, locked 1
66925 LOCK WAIT 3 lock struct(s), heap size 1248, 2 row lock(s)                                                                                                                                           
66926 MySQL thread id 926868, OS thread handle 0x7f57d3001700, query id 7009536 202.94.7.25 root Updating
66927 UPDATE `video_teacher` SET `video_id` = 3573, `live_id` = '0', `type` = 1 WHERE `uuid` = '1319610d3b95c611e2af3e000c29d6be57'
66928 ------- TRX HAS BEEN WAITING 27 SEC FOR THIS LOCK TO BE GRANTED:
66929 RECORD LOCKS space id 0 page no 39940 n bits 80 index `PRIMARY` of table `video`.`video_teacher` trx id 7ABA81 lock_mode X locks rec but not gap waiting
66930 Record lock, heap no 6 PHYSICAL RECORD: n_fields 14; compact format; info bits 0求分析mysql

解决方案 »

  1.   

    http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
      

  2.   

    show processlist有长时间没跑完的sql吗
      

  3.   

    用楼上的 show processlist 检查一下看看哪个进程在长期运行
      

  4.   

    测试的测出来的,过了一会就没了,出现的几率很小,当时没想到show processlist
      

  5.   

    查看mysql进程show processlist
      

  6.   

    测试的测出来的,过了一会就没了,出现的几率很小,当时没想到show processlist
    show processlist 只有当前被锁住的进程,没有其他执行的进程