mysql修改表数据,锁表解决办法
无法修改mysql表结构问题
#报错	ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
在mysql5.5之后,information_schema数据库加了三个关于锁的表
     innodb_trx ## 当前运行的所有事务
     innodb_locks ## 当前出现的锁
	
     innodb_lock_waits ## 锁等待的对应关系
排查思路
1、	查看是否有正在使用表的事务,发现并没有正在使用的事务
 		mysql>  show full processlist; 	
2、	查看线程id,根据时间判断是否存在长时间未提交的事务,导致无法修改表数据
mysql> SELECT * FROM information_schema.innodb_trx \G;

发现有一个线程从11点开始就一直在连接
 	mysql> SELECT * FROM information_schema.processlist where id=23957085; 	
查看id试哪里连过来的请求,

找到这里已经知道是哪个机器在连接库操作表了,后续登录机器找到原因是遗弃的定时任务导致问题出现。
kill掉另一台主机的定时任务,重修修改表成功。定时任务不使用后要记得取消。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号