Skip to content

MySQL 监控部署 ​

M4版本边界(2026-10-17): 本页是旧mysqld_exporter/Prometheus/Grafana部署记录,镜像未锁版本,示例账号权限和认证模块需按当前exporter版本重新配置;不得直接把root示例当最小权限方案。本批未等价重建监控栈,现行数据库诊断见运维恢复。

操作步骤如下 ​

  • mysql 设置
sql
  CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
  GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
  • mysqld_exporter
  • prometheus
  • grafana

mysqld_exporter 启动 ​

GitHub

  • 在机器对应目录下创建目录和文件

    • mkdir -p /home/save/mysqld_exporter/conf

    • touch config.my-cnf

      toml
      [client]
      host=mysql-address
      port=3306
      # socket=/var/run/mysqld/mysqld.sock
      user=root
      password=password-you
      [client.server1]
      user = bar
      password = bar123
  • docker-compose

    yaml
    version: "3"
    services:
      mysqld-exporter:
        container_name: mysqld-exporter
        image: prom/mysqld-exporter
        hostname: mysqld_exporter
        ports:
          - 9104:9104
        volumes:
          - ${PWD}/conf/config.my-cnf:/config.my-cnf
        command:
          - "--config.my-cnf=/config.my-cnf"
          - "--collect.binlog_size"
          - "--collect.info_schema.replica_host"
        restart: always
  • 启动

    • docker-compose up -d
    • docker-compose ps
    • docker-compose logs

prometheus ​

从 /home/save/mysqld_exporter 目录启动 Compose;宿主机 conf/config.my-cnf 挂载为容器的 /config.my-cnf。下方 auth_module 必须与文件中的 [client.server1] 同名;其中账号占位符需替换为目标 MySQL 已授权的账号,不能把 root 示例当作最小权限设置。

yaml
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["prometheus:9991"]

  - job_name: "mysql"
    params:
      auth_module: [client.server1]
    static_configs:
      - targets:
          - mysql-address:3306
          # - unix:///run/mysqld/mysqld.sock 本机也可以使用sock 文件
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: mysql-exporter-server:9104

grafana ​

最后结果 ​

  • GitHub 推荐 (含环境或账号信息的历史截图已移除。)

继续阅读