2025年10月21日,MySQL 9.5.0 创新版发布,该版本引入了一个新的诊断监控工具 MySQL Diagnostic Monitor(mysqldm) ,这是一个专门用于自动收集服务器诊断信息的客户端工具,主要面向企业版用户用于故障排查和性能分析。
01. mysqldm 核心特性
MySQL 企业版专属的自动诊断采集工具是一项强大的运维功能,它能够自动执行包括进程列表、锁状态及性能指标在内的预定义诊断查询集,从而免去了手动执行多条 SQL 的繁琐过程。该工具支持灵活的采集策略,允许用户自定义输出目录,并精确设置采集的迭代次数与间隔延迟。为了便于程序化分析或直接提交给 Oracle Support 进行故障排查,所有的诊断结果均以结构化的 JSON 格式进行存储。
在 MySQL 诊断工具的演进中,相较于操作复杂度高且需记忆多条指令的手动 SQL 查询,以及需要熟悉复杂表结构的 Performance Schema 和调用存储过程的 sys Schema,MySQL 9.5 引入的新特性 mysqldm 实现了显著突破。它拥有极低的操作门槛,支持一键执行,并能自动生成利于程序化处理的结构化 JSON 格式报告,在自动化程度和输出规范性上均远优于传统方式。
02. 典型使用场景
故障现场信息收集
当数据库出现性能问题或故障时,快速收集当前状态快照:
1 2 mysqldm -h localhost -u root -p --iterations=1 --output-dir=./
采集后会将所有文件打成一个压缩包。解压后,可以看到收集上来的 json 文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 [root@rl9 mysqldm-output]# ls available_storage_engines.json replication_applier_global_filters.json engine_summary.json replication_applier_status_by_coordinator.json engine_support.json replication_applier_status_by_worker.json engine_table_usage_summary.json replication_applier_status.json error_log.json replication_asynchronous_connection_failover.json events_statements_summary_global_by_event_name.json replication_asynchronous_connection_failover_managed.json global_variables_details.json replication_connection_configuration.json host_cache.json replication_connection_status.json innodb_lock_waits.json replication_group_members.json innodb_metrics.json replication_group_member_stats.json innodb_trx.json routine_count.json instance_summary.json schema_lock_waits.json memory_by_host.json session_ssl_status.json memory_by_thread.json show_binary_logs.json memory_by_user.json show_binary_log_status.json memory_global.json show_engine_innodb_status.json metadata_locks.json show_engine_performance_schema_status.json mysqldm-20251210014824.zip show_full_processlist.json mysqldm_start_time.json show_global_status.json mysql_slave_master_info.json show_global_variables.json mysql_slave_relay_log_info.json show_open_tables.json now.json show_replicas.json option_usage.json show_replica_status.json performance_schema_setup_actors.json sys_host_summary.json performance_schema_setup_consumers.json sys_metrics.json performance_schema_setup_instruments_enabled_pct.json sys_processlist.json performance_schema_setup_objects.json sys_schema_object_overview.json performance_schema_thread_instrumented_pct.json sys_session.json persisted_variables.json sys_unused_indexes.json ps_event_waits_current.json table_count.json replication_applier_configuration.json threads.json replication_applier_filters.json xa_recover.json [root@rl9 mysqldm-output]#
持续监控采集
对间歇性问题进行多次采样:
1 2 3 4 mysqldm -h localhost -u root -p \ --iterations=10 \ --delay=30
支持工单提交
标准化收集的信息可直接提交给 Oracle Support,减少来回沟通成本 。
注意事项
版本限制:该工具仅在 MySQL 9.5.0+ 的企业版中提供,社区版用户需继续使用 Percona Toolkit 或手动查询 performance_schema / sys 系统库 。
权限要求:执行诊断查询需要足够的权限访问性能模式表和线程信息。
03. 与其他监控工具的关系
mysqldm 定位为轻量级、即时性的诊断采集工具,与 MySQL Enterprise Monitor 长期监控和告警平台、Performance Schema / sys Schema 形成互补。
mysqldm 简化了 DBA 在故障排查时的信息收集流程,提供了标准化 JSON 输出,是 MySQL 9.5 企业版中提升可观测性的重要工具。
Have a nice day ~ ☕
🌻 近期内容 ▼
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)、AI、Vibe Coding、OpenClaw 、Hermes Agent 等感兴趣,可以加群一起聊聊。关注微信公众号:(少安事务所),后台回复[群],即可看到入口。如果这篇文章为你带来了灵感或启发,请帮忙『点赞、推荐、转发』吧,感谢!ღ( ´・ᴗ・` )~
Author:
Shawn Yan
Link:
https://shawnyan.cn/2026/mysql/mysql-9-5-0-introduce-mysqldm/index.html
License:
All articles on this site are original unless otherwise stated. Please indicate the source when reprinting!