如何有效监控MySQL多数据库实例中支持的事件?

MySQL多数据库实例的事件监控支持多种事件,包括登录失败、创建用户、删除用户、修改密码等安全事件,以及表的创建、删除、修改等DDL操作。还可以监控查询、更新、插入、删除等DML操作。

MySQL多数据库实例的事件监控支持,主要是指通过MySQL的企业级监控工具——Performance Schema和sys schema来实现对MySQL实例的实时监控。

mysql 多数据库实例_事件监控支持的事件说明
(图片来源网络,侵删)

Performance Schema

Performance Schema是MySQL的一个性能监测工具,它提供了一个低开销的方法来监视MySQL服务器执行的各种类型的事件,包括查询执行、InnoDB存储引擎操作、互斥锁、内存分配等。

主要事件类别:

**Concurrency_系列监控并发相关的事件,如锁等待、死锁检测等。

**Memory_系列监控内存使用情况,例如内存分配和释放。

mysql 多数据库实例_事件监控支持的事件说明
(图片来源网络,侵删)

**Statements_系列监控SQL语句执行情况,记录每条SQL语句的执行时间、错误次数等。

**Transactions_系列监控事务相关的事件,如事务提交和回滚。

**Mutex_和 RWLock_* 系列监控互斥量和读写锁的使用情况。

sys schema

sys schema是一个帮助用户更好地理解和优化MySQL, MariaDB, and Percona Server的系统视图集合,它提供了一种机制来简化查询Performance Schema数据的过程。

mysql 多数据库实例_事件监控支持的事件说明
(图片来源网络,侵删)

常用视图示例:

statements_summary_by_digest:显示每个唯一查询摘要的性能数据汇总。

statements_summary_by_account_by_event_name:按用户账户和事件名称分组的语句摘要。

innodb_buffer_stats_by_schema_and_index:按模式和索引分组的InnoDB缓冲池统计信息。

memory_by_thread_by_current_bytes:按当前字节大小排序的线程内存使用情况。

memory_global_by_current_bytes:全局内存使用情况。

配置与启用

要启用这些监控功能,需要在MySQL配置文件中进行设置,并重启服务。

[mysqld]
performance_schema=ON
启用特定消费者,如events_statements_history_long
performance_schema_consumer_events_statements_history_long=ON
启用特定表,如events_statements_summary_by_digest
performance_schema_table_map=events_statements_summary_by_digest=CONSUMER

可以使用如下命令查看当前已启用的消费者和表:

SELECT * FROM performance_schema.setup_consumers;
SELECT * FROM performance_schema.setup_tables;

问题与解答

Q1: 如何在不重启MySQL的情况下动态开启或关闭Performance Schema中的事件?

A1: 你可以使用SET命令动态地更改performance_schema的配置。

SET GLOBAL performance_schema='ON';
SET GLOBAL performance_schema_consumer_enabled='yes';

Q2: 如何限制Performance Schema占用的资源?

A2: 可以通过设置performance_schema_instrument变量来控制哪些事件被监控,进而控制资源消耗。

SET PERSIST GLOBAL performance_schema_instrument='%=on'; # 监控所有事件
SET PERSIST GLOBAL performance_schema_instrument='statement/%=off'; # 关闭所有statement相关事件的监控

通过这种方式,管理员可以根据实际需要灵活调整监控策略,以平衡监控需求和系统资源的消耗。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-08-24 21:20
下一篇 2024-08-24 21:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信