监视每个数据库的MySQL活动?


9

监视服务器上每个数据库活动的最佳方法是什么?

我尝试了mtop / mytop,它实时显示活动,但是查看在其上执行的所有查询不是很实际。

我激活了MySQL日志,但是没有选择按数据库拆分它们。

您正在使用哪些工具来监视MySQL服务器?

Answers:


4

我试图避免在一个实例中拥有多个数据库。相反,我在服务器上设置了多个实例,每个实例专用于一个数据库。

MySQL Cacti模板是一个很好的监视解决方案。如果您是企业客户,则可以使用MySQL Enterprise Monitor。还检查了mycheckpoint从openark。

编辑
这里是一些在一个服务器上设置多个实例的教程:

您还可以使用MySQL Sandbox,因为它可以自动执行许多不同的设置。


感谢您的评论,您是否有快速教程来为每个服务器设置多个实例?
tostinni

3

您必须了解所使用的大多数工具在哪里从- SHOW ENGINE INNODB STATUS和那里获取数据SHOW GLOBAL STATUS。这些数据根本无法在MySQL内部的数据库级别上细分。

MySQL 5.5、5.6和Percona Server一直在通过performance_schemauserstats等功能为您改进可用的诊断方面做得很出色-但我还不知道有没有利用的GUI /监视工具。

我建议安装Percona Server,并查看table_statistics:

mysql> SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS
   WHERE TABLE_NAME='tables_priv';
+--------------+-------------------------------+-----------+--------------+------------------------+
| TABLE_SCHEMA | TABLE_NAME                    | ROWS_READ | ROWS_CHANGED | ROWS_CHANGED_X_INDEXES |
+--------------+-------------------------------+-----------+--------------+------------------------+
| mysql        | tables_priv                   |         2 |            0 |                      0 | 
+--------------+-------------------------------+-----------+--------------+------------------------+
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.