我的监控工具Zenoss正在从MySQL Innodb引擎报告“最新检测到的死锁”事件。 当我运行'show engine innodb status \ G'时,我得到有关死锁的以下信息:
------------------------
LATEST DETECTED DEADLOCK
------------------------
130819 14:01:12
*** (1) TRANSACTION:
TRANSACTION 0 108626388, ACTIVE 0 sec, process no 8726, OS thread id 47220783470912
starting index read
mysql tables in use 1, locked 1
LOCK WAIT 4 lock struct(s), heap size 1216, 2 row lock(s), undo log entries 1
MySQL thread id 4283, query id 21974219 10.92.210.108 ddrsrbe Updating
update ddrsproduction.requests set request_priority_grade_id=3, costs=0, data_version=1, date_completed='2013-08-19 13:59:39', date_end='2013-05-24 23:59:00', date_required_by='2013-08-26 13:57:31', date_start='2013-05-19 00:01:00', date_submitted='2013-08-19 13:57:31', designated_authority_id=84528, is_manual=1, missed_sla_reason=null, missed_sla_reason_ask_user=null, product_id=35, request_cost_status_id=0, request_delivery_method_id=0, request_legislation_id=0, request_method_id=0, request_reason_id=1, request_result_status_id=null, origin_id=0, request_status_id=2, request_type_id=1, result_row_count=2, results_last_downloaded=null, site_processed='KNOW', time_zone=null, urn='LBP/281/35/12 (CONS)', user_id=2357, vf_rep_id=8 where request_id=132536
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
你可以看到死锁是在去年八月,我不能杀死线程,因为它不再存在:
mysql> kill 4283;
ERROR 1094 (HY000): Unknown thread id: 4283
我对Zenoss接受这个事件感到无聊,并且非常想清除这个警报的innodb引擎。 我用Google搜索了高低的答案,并提出了zilch,nada,什么都没有。 任何帮助非常感谢: - )
答案 0 :(得分:4)
不幸的是,无法清除LATEST DETECTED DEADLOCK
中的SHOW ENGINE INNODB STATUS
部分。该查询已被死锁检测器杀死,因此您无法KILL
。重置该信息的唯一方法是重新启动服务器。
由于该输出中存在某些东西,没有正确编写的软件应该持续发出警报。
答案 1 :(得分:1)
如果没有更新显示,请执行SHOW FULL PROCESSLIST
以获取所有连接的列表并终止执行更新的连接,或使用Kill命令终止所有非活动/休眠会话。