MySQL死锁解决

PS:原创文章,如需转载,请注明出处,谢谢!     

本文地址:http://flyer0126.iteye.com/blog/2252472

 

    今天在维护CRM系统时,发现数据同步存在问题,接口执行慢且过段时间后报500错误,细探究发现是sql执行时,MySQL Server报错,具体如下:

Error: Lock wait timeout exceeded; try restarting transaction

    数据一直不能执行完成,是由于MySQL的事务产生了死锁,直接重启MySQL服务可以解决,但对于生产环境而言,并不是好的选择。

    利用如下sql,获取锁表事务信息:

SELECT * FROM information_schema.innodb_trx 

    查看持续时间比较长且未commit的事务id(trx_mysql_thread_id),然后kill掉即可。

猜你喜欢

转载自flyer0126.iteye.com/blog/2252472