gpt4 book ai didi

MySQL performance_schema 无法正常工作?

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:33 25 4
gpt4 key购买 nike

我的 Ubuntu 14.04 上运行着 MySQL 5.6.19 社区服务器。最近我一直在尝试使用 performance_schema 来监控 MySQL 服务器。以前,我曾经使用 cronjob 每 5 秒运行一次 SHOW FULL 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 |
+-----------------+

我不明白为什么它没有登录任何查询?

最佳答案

性能模式在满足三个条件时记录数据:

  1. 正在运行的线程已检测
  2. 当前执行的仪器已启用
  3. 启用要记录的数据的消费者

线程

默认情况下,检测每个线程 (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 上使用选择/更新。

根据问题,这部分似乎没问题,因此请检查第 (1) 和 (2) 部分。

关于MySQL performance_schema 无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com