MySQL5.7 的新特性中,非常突出的特性之一就是 sys 库,不仅可以通过 sys 库完成 MySQL 信息的收集,还可以用来监控和排查问题。
但你知道吗,sys 库其实还有很多种玩法,有的或许单看表名就知道了,但有一些,还是需要老司机带路哦~
1、查看每个客户端IP过来的连接消耗资源情况。
2、查看每个用户资源消耗情况
3、查看当前连接情况(有多少连接就应该有多少行)
4、查看当前正在执行的 SQL 和执行 show full processlist 的效果相当。
查看发生 IO 请求前三名的文件。
1、查看总共分配了多少内存。
2、每个库(database)占用多少 buffer pool
3、统计 innodb 引擎的 innodb 缓存
pages 是指在 buffer pool 中的 page 数量;pages_old 指在 LRU 列表中处于后37%位置的 page。 当出现 buffer page 不够用时,就会征用这些 page 所占的空间。37%是默认位置,具体可以自定义。
4、统计每张表具体在 InnoDB 中具体的情况,比如占多少页?
其实和第3例的 pages 的总数都是相等的,你可以借用 sum(pages)运算验证一下哦!
5、查询每个连接分配了多少内存,利用 session 表和 memory_by_thread_by_current_bytes 分配表进行关联查询。
1、查看表自增字段最大值和当前值,有时候做数据增长的监控,可以作为参考,你使用时,不一定要加条件语句。
2、MySQL 索引使用情况统计
3、MySQL 中有哪些冗余索引和无用索引
若库中展示没有冗余索引,则没有数据;当有联合索引 idx_abc(a,b,c)和idx_a(a),那么 idx_a 就算冗余索引了。
4、查看 INNODB 锁信息
在未来的版本将被移除,可以采用其他方式
5、查看库级别的锁信息,这个需要先打开 MDL 锁的监控:
MySQL 内部有多个线程在运行,线程类型及数量。
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!