【实操题】开发一个简单监控脚本,监控mySQL数据库阻塞情况
771
等19人参与

题干:

​ 本章中我们讲解了如何监控MySQL的阻塞,你可以使用你熟悉的语言,利用本课程中所提供的SQL来写出一个监控MySQL阻塞并在出现阻塞后发送报警的程序吗?

SELECT b.trx_mysql_thread_id AS '被阻塞线程',b.trx_query AS '被阻塞SQL',c.trx_mysql_thread_id AS '阻塞线程',c.trx_query AS '阻塞SQL',(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) AS '阻塞时间'

FROM information_schema.innodb_lock_waits a 

JOIN information_schema.innodb_trx b ON a.requesting_trx_id=b.trx_id

JOIN information_schema.innodb_trx c ON a.blocking_trx_id=c.trx_id

WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) >30

实现效果示例:
图片描述

要求:

1).能够发现MySQL系统中存在的阻塞

2).能够对相关人员发送报警消息

发散思维:

1).如果出现了阻塞后我们应该如何处理?

2).阻塞报警中所查询出来的SQL为什么有时候会是‘ ’?

我的作业
去发布

登录后即可发布作业,立即

全部作业

数据加载中...

意见反馈 帮助中心 APP下载
官方微信