轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
mysqld-exporter

prom/mysqld-exporter

prom
自动构建

Prometheus MySQL导出器,用于收集MySQL数据库性能指标并暴露给Prometheus监控系统,支持实时监控与指标分析。

82 次收藏下载次数: 0状态:自动构建维护者:prom仓库类型:镜像最近更新:12 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

DockerHub 官方简介
轩辕镜像中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

MySQL Server Exporter https://travis-ci.org/prometheus/mysqld_exporter

https://quay.io/repository/prometheus/mysqld-exporter https://hub.docker.com/r/prom/mysqld-exporter/

Prometheus exporter for MySQL server metrics.

Supported versions:

  • MySQL >= 5.6.
  • MariaDB >= 10.3

NOTE: Not all collection methods are supported on MySQL/MariaDB < 5.6

Building and running

Required Grants

sql
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

NOTE: It is recommended to set a max connection limit for the user to avoid overloading the server with monitoring scrapes under heavy load. This is not supported on all MySQL/MariaDB versions; for example, MariaDB 10.1 (provided with Ubuntu 18.04) https://mariadb.com/kb/en/library/create-user/#resource-limit-options.

Build

make build

Running

Single exporter mode

Running using .my.cnf from the current directory:

./mysqld_exporter <flags>

Multi-target support

This exporter supports the multi-target pattern. This allows running a single instance of this exporter for multiple MySQL targets.

To use the multi-target functionality, send an http request to the endpoint /probe?target=foo:3306 where target is set to the DSN of the MySQL instance to scrape metrics from.

To avoid putting sensitive information like username and password in the URL, you can have multiple configurations in config.my-cnf file and match it by adding &auth_module=<section> to the request.

Sample config file for multiple configurations

    [client]
    user = foo
    password = foo123
    [client.servers]
    user = bar
    password = bar123

On the prometheus side you can set a scrape config as follows

    - job_name: mysql # To get metrics about the mysql exporter’s targets
      metrics_path: /probe
      params:
        # Not required. Will match value to child in config file. Default value is `client`.
        auth_module: [client.servers]
      static_configs:
        - targets:
          # All mysql hostnames or unix sockets to monitor.
          - server1:3306
          - server2:3306
          - unix:///run/mysqld/mysqld.sock
      relabel_configs:
        - source_labels: [__address__]
          target_label: __param_target
        - source_labels: [__param_target]
          target_label: instance
        - target_label: __address__
          # The mysqld_exporter host:port
          replacement: localhost:9104

Flag format

Example format for flags for version > 0.10.0:

--collect.auto_increment.columns
--no-collect.auto_increment.columns

Example format for flags for version <= 0.10.0:

-collect.auto_increment.columns
-collect.auto_increment.columns=[true|false]

Collector Flags

NameMySQL VersionDescription
collect.auto_increment.columns5.1Collect auto_increment columns and max values from information_schema.
collect.binlog_size5.1Collect the current size of all registered binlog files
collect.engine_innodb_status5.1Collect from SHOW ENGINE INNODB STATUS.
collect.engine_tokudb_status5.6Collect from SHOW ENGINE TOKUDB STATUS.
collect.global_status5.1Collect from SHOW GLOBAL STATUS (Enabled by default)
collect.global_variables5.1Collect from SHOW GLOBAL VARIABLES (Enabled by default)
collect.heartbeat5.1Collect from heartbeat.
collect.heartbeat.database5.1Database from where to collect heartbeat data. (default: heartbeat)
collect.heartbeat.table5.1Table from where to collect heartbeat data. (default: heartbeat)
collect.heartbeat.utc5.1Use UTC for timestamps of the current server (pt-heartbeat is called with --utc). (default: false)
collect.info_schema.clientstats5.5If running with userstat=1, set to true to collect client statistics.
collect.info_schema.innodb_metrics5.6Collect metrics from information_schema.innodb_metrics.
collect.info_schema.innodb_tablespaces5.7Collect metrics from information_schema.innodb_sys_tablespaces.
collect.info_schema.innodb_cmp5.5Collect InnoDB compressed tables metrics from information_schema.innodb_cmp.
collect.info_schema.innodb_cmpmem5.5Collect InnoDB buffer pool compression metrics from information_schema.innodb_cmpmem.
collect.info_schema.processlist5.1Collect thread state counts from information_schema.processlist.
collect.info_schema.processlist.min_time5.1Minimum time a thread must be in each state to be counted. (default: 0)
collect.info_schema.query_response_time5.5Collect query response time distribution if query_response_time_stats is ON.
collect.info_schema.replica_host5.6Collect metrics from information_schema.replica_host_status.
collect.info_schema.rocksdb_perf_context5.6Collect RocksDB metrics from information_schema.ROCKSDB_PERF_CONTEXT.
collect.info_schema.tables5.1Collect metrics from information_schema.tables.
collect.info_schema.tables.databases5.1The list of databases to collect table stats for, or '*' for all.
collect.info_schema.tablestats5.1If running with userstat=1, set to true to collect table statistics.
collect.info_schema.schemastats5.1If running with userstat=1, set to true to collect schema statistics
collect.info_schema.userstats5.1If running with userstat=1, set to true to collect user statistics.
collect.mysql.user5.5Collect data from mysql.user table
collect.perf_schema.eventsstatements5.6Collect metrics from performance_schema.events_statements_summary_by_digest.
collect.perf_schema.eventsstatements.digest_text_limit5.6Maximum length of the normalized statement text. (default: 120)
collect.perf_schema.eventsstatements.limit5.6Limit the number of events statements digests by response time. (default: 250)
collect.perf_schema.eventsstatements.timelimit5.6Limit how old the 'last_seen' events statements can be, in seconds. (default: 86400)
collect.perf_schema.eventsstatementssum5.7Collect metrics from performance_schema.events_statements_summary_by_digest summed.
collect.perf_schema.eventswaits5.5Collect metrics from performance_schema.events_waits_summary_global_by_event_name.
collect.perf_schema.file_events5.6Collect metrics from performance_schema.file_summary_by_event_name.
collect.perf_schema.file_instances5.5Collect metrics from performance_schema.file_summary_by_instance.
collect.perf_schema.file_instances.remove_prefix5.5Remove path prefix in performance_schema.file_summary_by_instance.
collect.perf_schema.indexiowaits5.6Collect metrics from performance_schema.table_io_waits_summary_by_index_usage.
collect.perf_schema.memory_events5.7Collect metrics from performance_schema.memory_summary_global_by_event_name.
collect.perf_schema.memory_events.remove_prefix5.7Remove instrument prefix in performance_schema.memory_summary_global_by_event_name.
collect.perf_schema.tableiowaits5.6Collect metrics from performance_schema.table_io_waits_summary_by_table.
collect.perf_schema.tablelocks5.6Collect metrics from performance_schema.table_lock_waits_summary_by_table.
collect.perf_schema.replication_group_members5.7Collect metrics from performance_schema.replication_group_members.
collect.perf_schema.replication_group_member_stats5.7Collect metrics from performance_schema.replication_group_member_stats.
collect.perf_schema.replication_applier_status_by_worker5.7Collect metrics from performance_schema.replication_applier_status_by_worker.
collect.slave_status5.1Collect from SHOW SLAVE STATUS (Enabled by default)
collect.slave_hosts5.1Collect from SHOW SLAVE HOSTS
collect.sys.user_summary5.7Collect metrics from sys.x$user_summary (disabled by default).

General Flags

NameDescription
mysqld.addressHostname and port used for connecting to MySQL server, format: host:port. (default: localhost:3306)
mysqld.usernameUsername to be used for connecting to MySQL Server
config.my-cnfPath to .my.cnf file to read MySQL credentials from. (default: ~/.my.cnf)
log.levelLogging verbosity (default: info)
exporter.lock_wait_timeoutSet a lock_wait_timeout (in seconds) on the connection to avoid long metadata locking. (default: 2)
exporter.enable_lock_wait_timeoutEnable the lock_wait_timeout connection parameter. Makes the exporter compatible with older versions of MySQL. (default: true)
exporter.log_slow_filterAdd a log_slow_filter to avoid slow query logging of scrapes. NOTE: Not supported by Oracle MySQL.
tls.insecure-skip-verifyIgnore tls verification errors.
web.config.filePath to a web configuration file
web.listen-addressAddress to listen on for web interface and telemetry.
web.telemetry-pathPath under which to expose metrics.
versionPrint the version information.

Environment Variables

NameDescription
MYSQLD_EXPORTER_PASSWORDPassword to be used for connecting to MySQL Server

Configuration precedence

If you have configured cli with both mysqld flags and a valid configuration file, the options in the configuration file will override the flags for client section.

TLS and basic authentication

The MySQLd Exporter supports TLS and basic authentication.

To use TLS and/or basic authentication, you need to pass a configuration file using the --web.config.file parameter. The format of the file is described https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md.

Customizing Configuration for a SSL Connection

If The MySQL server supports SSL, you may need to specify a CA truststore to verify the server's ***of-trust. You may also need to specify a SSL keypair for the client side of the SSL connection. To configure the mysqld exporter to use a custom CA certificate, add the following to the mysql cnf file:

ssl-ca=/path/to/ca/file

To specify the client SSL keypair, add the following to the cnf.

ssl-key=/path/to/ssl/client/key
ssl-cert=/path/to/ssl/client/cert

It's possible to also restrict the TLS versions that can be used between the MySQL server and mysqld exporter by specifying versions in the mysql cnf file like this:

tls-min-version=TLSv1.2
tls-max-version=TLSv1.3

Using Docker

You can deploy this exporter using the https://hub.docker.com/r/prom/mysqld-exporter/ Docker image.

For example:

bash
docker network create my-mysql-network
docker pull prom/mysqld-exporter

docker run -d \
  -p 9104:9104 \
  -v /home/user/user_my.cnf:/.my.cnf \
  --network my-mysql-network  \
  prom/mysqld-exporter

heartbeat

With collect.heartbeat enabled, mysqld_exporter will scrape replication delay measured by heartbeat mechanisms. https://www.percona.com/doc/percona-toolkit/2.2/pt-heartbeat.html is the reference heartbeat implementation supported.

Filtering enabled collectors

The mysqld_exporter will expose all metrics from enabled collectors by default. This is the recommended way to collect metrics to avoid errors when comparing metrics of different families.

For advanced use the mysqld_exporter can be passed an optional list of collectors to filter metrics. The collect[] parameter may be used multiple times. In Prometheus configuration you can use this syntax under the https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<scrape_config>.

yaml
params:
  collect[]:
  - foo
  - bar

This can be useful for having different Prometheus servers collect specific metrics from targets.

Example Rules

There is a set of sample rules, alerts and dashboards available in the mysqld-mixin

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 mysqld-exporter 镜像标签

docker pull docker.xuanyuan.run/prom/mysqld-exporter:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull prom/mysqld-exporter:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
prom/mysqld-exporter
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 mysqld-exporter 镜像推荐

bitnami/mysqld-exporter logo

bitnami/mysqld-exporter

Bitnami Secure Images(VMware Tanzu)
Bitnami MySQL Server Exporter安全镜像,用于收集MySQL服务器指标供Prometheus监控,基于Photon Linux构建,提供强化安全特性、合规支持及供应链安全保障。
7 次收藏1000万+ 次下载
2 天前更新
anchorfree/mysqld-exporter logo

anchorfree/mysqld-exporter

anchorfree
暂无描述
100万+ 次下载
8 年前更新
kubedb/mysqld-exporter logo

kubedb/mysqld-exporter

kubedb
暂无描述
10万+ 次下载
6 个月前更新
bitnamilegacy/mysqld-exporter logo

bitnamilegacy/mysqld-exporter

bitnamilegacy
Bitnami遗留镜像,已不再提供更新
10万+ 次下载
11 个月前更新
apecloud/mysqld-exporter logo

apecloud/mysqld-exporter

apecloud
暂无描述
5万+ 次下载
23 天前更新
kubedb/mysqld-exporter logo

kubedb/mysqld-exporter

kubedb
暂无描述
10万+ 次下载
6 个月前更新

查看更多 mysqld-exporter 相关镜像

更多相关 Docker 镜像与资源

以下是 prom/mysqld-exporter 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • bitnami/mysqld-exporter Docker 镜像说明(MySQLd Exporter,Bitnami 企业级配置,Prometheus 监控指标导出器)
  • bitnami/node-exporter Docker 镜像说明(Node Exporter,Prometheus 监控指标导出器,适合系统监控)
  • prom/node-exporter Docker 镜像说明(Node Exporter,Prometheus 官方版本,系统监控指标导出器)
  • bitnamicharts/node-exporter Docker 镜像说明(Bitnami node-exporter 图表组件,适合 Prometheus 节点指标采集)
  • ubuntu/node-exporter Docker 镜像说明(Ubuntu Node Exporter,适合 Prometheus 主机指标采集)