我在我的Ubuntu14.04上运行了MySQL 5.6.19社区服务器。最近,我一直试图使用MySQL监控performance_schema服务器。以前,我通过使用cron作业每5秒运行一次显示完整PROCESSLIST查询来完成这一任务。
我按照以下方式配置了performance_schema.setup_consumers表。
mysql> use performance_schema;
mysql> select * from setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+--------------------------------+---------+默认情况下,不启用events_statements_history。我启用了它如下所示。
mysql> update setup_consumers set enabled="YES" where name="events_statements_history";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+--------------------------------+---------+现在启用了,events_statements_history表现在应该能够捕获查询,但不知怎么的,它不能捕获查询。结果如下。
mysql> select count(sql_text) from events_statements_history;
+-----------------+
| count(sql_text) |
+-----------------+
| 0 |
+-----------------+我不明白它为什么没有登录任何查询?
发布于 2014-11-18 08:28:04
当满足三个条件时,性能模式会记录数据:
线程
默认情况下,每个线程(1)都被检测。
要检查线程是否被检测到:
select THREAD_ID, NAME, PROCESSLIST_ID, PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from threads;若要更改默认情况下检测哪些线程,请使用表setup_actors。
仪器
默认情况下,为语句(又名查询)启用工具(2)。
若要查看哪些查询未被检测到:
select * from setup_instruments where name like "statement/%" and enabled='NO';若要对所有查询进行分析:
update setup_instruments set enabled="YES" where name like "statement/%";消费者
默认情况下,只有少数消费者被检测(3)。
若要查看哪些使用者已被检测,或要更改此,请在表setup_consumers上使用select / update。
这个部分对问题似乎很好,所以请检查第(1)和(2)部分。
发布于 2018-04-26 11:20:29
请注意,如果setup_%表中没有任何内容,则可能需要启用性能模式,
https://dev.mysql.com/doc/refman/5.5/en/performance-schema-quick-start.html
https://stackoverflow.com/questions/26660763
复制相似问题