在上周的 MySQL 8 Performance Schema 如何帮助诊断查询死锁文章中,我们上了一个关于互斥锁(Mutex)和线程(Thread)的速成课程,了解了 MySQL Performance Schema,并运行了一些查询以调查性能瓶颈。在本篇文章中,将使用 Navicat Monitor 提供的另一种调查瓶颈和死锁的方法。
Navicat Monitor 的概览
Navicat Monitor 是监控 MySQL / MariaDB 的无代理远程服务器监控工具,其中包含的功能使监控数据库(DB)实例发挥最大效用和更轻松。术语“无代理”是关键,因为它描述了一种基于服务器的架构,不需要在被监视的服务器上安装任何软件。此外,Navicat Monitor 可通过网络浏览器随时随地访问,从而提供无障碍访问,让你全天候轻松无缝地掌握全球服务器的状况。
它拥有众多功能。以下是其中一些:
- 实时的交互式概览
- 在一个基于网络的中央界面上查看所有已注册的 MySQL 或 MariaDB 实例和可用的组
- 监控主机上实时的 MySQL 或 MariaDB 指标、CPU、内存和交换使用率
- 浏览一小时的历史指标
- 实例详细信息
- 无代理的远程监控
- 生成服务器性能指标的报表
- 将报表导出为 PDF 文件
- 警报
- 预先配置超过 40 个可完全自定义的警报策略
- 获取有关如何提高服务器性能的有用建议
- 与可自定义的阈值一起使用 SMTP、短信、SNMP 陷阱和 Slack
- 查询分析器
- 分析慢速查询日志和常规查询日志
- 找出对系统影响最大的查询
- 存储历史记录以诊断死锁问题
- 复制监控
- 显示复制拓扑并能快速查看每个复制的状态
- 提供用于复制故障排除的复制错误历史记录
- 发现任何复制问题时发送警报
- 安全性监控
- 控制访问监控的实例和功能
- 通过发送警报提高 MySQL 或 MariaDB 安全性
- 检测 MySQL 或 MariaDB 黑客活动
- 用户管理
- 基于角色的访问控制
- OpenLDAP 或 Active Directory 的用户集成
- 通过 IP 地址限制登录或角色的访问
- 配置导出和还原
- 保存最近的配置并随时还原
- 将 Navicat Monitor 迁移到新主机
- 允许存储库数据库迁移
发现死锁查询
“查询分析器”显示所有正在执行的查询的摘要信息,并帮助你识别有问题的查询,例如识别最多累积运行时间的查询,慢速查询,以及当两个或更多查询互相永久阻止時检测到死锁。你可在屏幕的顶部找到“最新的死锁查询”:
你可以点击“查看全部”按钮查看以前的死锁。这样做会打开“死锁”页面。它显示在已选择实例上检测到的所有死锁:
所有受监控的实例都显示在左侧窗格中。选择一个实例来显示其死锁。你可以在“搜索死锁”框中输入搜索字符串以筛选列表。
默认情况下,死锁列表每 5 秒自动刷新一次。如果你想更改自动刷新时间,请使用“刷新时间”下拉菜单。若要暂停自动刷新,请点击“暂停”按钮。
你还可以点击“X / 页”来设置显示的死锁数量。
总结
在今天的文章中,我们学习了如何使用 Navicat Monitor 找出 MySQL 8 的瓶颈和死锁。考虑购买 Navicat Monitor for MySQL/MariaDB?它现在提供每月和每年订阅!