Grafana MySQL监控大盘指标图趋势不连续分析

问题现象

通过benchmarksql对MySQL数据库做压测完发现Grafana关于该数据库的监控图趋势不连续,监控数据异常。

说明:Prometheus+mysql+expoter都通过容器运行

日志分析

检查了其他数据库节点跟主机节点趋势图均正常,排除 Prometheus 的问题,检查 expoter 日志发现有报错信息:

time=2025-06-12T06:18:52.960Z level=ERROR source=exporter.go:131 msg="Error opening connection to database" err="Error 1203 (42000): User root already has more than 'max_user_connections' active connections"

通过日志代码 1203 定位分析 MySQL 的用户 root 当前已经达到了最大连接数限制(max_user_connections),导致 mysqld_exporter 无法再建立新的连接来采集监控数据。

  • 查看活跃连接数

 MySQL [test1]> SHOW GLOBAL STATUS LIKE 'Threads_connected';

+-------------------+-------+

| Variable_name | Value |

+-------------------+-------+

| Threads_connected | 1900 |

+-------------------+-------+

1 row in set (0.01 sec)

  • 查看 MySQL 中 root 用户的最大连接数限制(MAX_USER_CONNECTIONS):

MySQL [test1]> SELECT -> USER, -> HOST, -> MAX_USER_CONNECTIONS -> FROM -> mysql.user -> WHERE -> USER = 'root'; 
+------+-----------+----------------------+
| USER | HOST      | MAX_USER_CONNECTIONS | 
+------+-----------+----------------------+ 
| root | %         |                    0 | 
| root | localhost |                    0 | 
+------+-----------+----------------------+ 
2 rows in set (0.00 sec)
  1. MAX_USER_CONNECTIONS = 0 表示该用户使用的是 全局最大连接限制,而不是单独设置的值。

  2. 所以 root@%root@localhost 都会受到系统变量 max_user_connections 的限制。

  • 查看连接数设置

MySQL [test1]> show variables like '%connection%'; 
+-----------------------------------+----------------------+ 
| Variable_name                     | Value                | 
+-----------------------------------+----------------------+ 
| character_set_connection          | utf8mb3              | 
| collation_connection              | utf8_general_ci      | 
| connection_memory_chunk_size      | 8912                 | 
| connection_memory_limit           | 18446744073709551615 | 
| global_connection_memory_limit    | 18446744073709551615 | 
| global_connection_memory_tracking | OFF                  | 
| max_connections                   | 10000                | 
| max_user_connections              | 1900                 | 
| mysqlx_max_connections            | 100                  | 
+-----------------------------------+----------------------+
参数名含义
max_connections10000MySQL 允许的最大连接数(包括所有用户)
max_user_connections1900单个用户允许的最大连接数(root 用户受此限制)

问题定位

  • root 用户没有设置独立的 MAX_USER_CONNECTIONS,所以受限于全局变量 max_user_connections = 1900

  • MySQL 整体最多支持 max_connections = 10000 个连接

  • 因此,一个用户最多只能建立 1900 个连接,超过这个数字就会报错

Error 1203: User root already has more than 'max_user_connections' active connections

解决办法

方案一:更换 mysqld_exporter 使用的数据库用户(推荐)

CREATE USER 'exporter'@'%' IDENTIFIED BY 'your_password';

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';

FLUSH PRIVILEGES;

然后修改 mysqld_exporter 的配置文件 my.cnf 或启动参数,使用新用户连接:

[client] user=exporter password=your_password host=localhost port=3306

方案二:增加 root 用户的最大连接数限制

ALTER USER 'root'@'%' WITH MAX_USER_CONNECTIONS 10000; 
FLUSH PRIVILEGES;

复测

确认趋势图正常

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86041.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实例题:基于区块链的去中心化应用平台(区块链、智能合约)

目录 Python实例题 题目 问题描述 解题思路 关键代码框架 难点分析 扩展方向 Python实例题 题目 基于区块链的去中心化应用平台(区块链、智能合约) 问题描述 开发一个基于区块链的去中心化应用平台,包含以下功能: 区块…

接口请求重复触发问题的排查流程:iOS抓包实战中的工具协作

有时候,Bug 并不体现在程序错误上,而是行为偏差。在一次常规功能测试中,我们发现移动端某个提交请求被触发了两次,虽然后端做了幂等处理,但频繁请求仍可能带来性能问题、错误日志膨胀、以及潜在副作用。 这类问题常被…

oracle 表空间与实例妙用,解决业务存储与权限处理难题

oracle 表空间与实例妙用,解决业务存储与权限处理难题 一、方案背景 在同一个研发数仓中,现使用 Oracle 数据库存储生产和质量的数据。为了满足业务发展需求,需要新增财务数据的存储,同时确保不影响现有的生产和质量数据。本方案…

迅为RK3576开发板NPU环境搭建和使用rknn-toolkit2功能演示模型转换

开发板采用核心板底板结构,在我们的资料里提供了底板的原理图工程以及PCB工程,可以实现真正意义上的裁剪、定制属于自己的产品,满足更多应用场合。 迅为针对RK3576开发板整理出了相应的开发流程以及开发中需要用到的资料,并进行详…

如何在 Python 中连接 Elasticsearch 并使用 Qwen3 来实现 RAG

今天的这篇文章是 “在本地电脑中部署阿里 Qwen3 大模型及连接到 Elasticsearch” 的续篇。我们接着上次的文章,继续探索如何使用 Qwen3 来实现 RAG。在本练习中,我们使用 Elastic Stack 9.0.1 版本。 创建 Elasticsearch API key 我们按照如下的步骤来…

Domain 层完全指南(面向 iOS 开发者)

目录 为什么需要 Domain 层清晰的三层架构核心概念:Entity / Value Object / Use Case / RepositorySwift 代码实战测试策略在旧项目中落地的步骤结语 1 为什么需要 Domain 层 在传统 MVC / MVVM 中,我们往往把业务规则写进 ViewController 或 ViewMod…

华为OD机试_2025 B卷_矩形相交的面积(Python,100分)(附详细解题思路)

题目描述 给出3组点坐标(x, y, w, h)&#xff0c;-1000<x,y<1000&#xff0c;w,h为正整数。 (x, y, w, h)表示平面直角坐标系中的一个矩形&#xff1a; x, y为矩形左上角坐标点&#xff0c;w, h向右w&#xff0c;向下h。 (x, y, w, h)表示x轴(x, xw)和y轴(y, y-h)围成…

17、Rocket MQ快速实战以及核⼼概念详解

⼀ 、MQ简介 MQ&#xff1a;MessageQueue&#xff0c;消息队列。是在互联⽹中使⽤⾮常⼴泛的—系列服务中间件。 这个词可以分两个部分来看&#xff0c; —是Message&#xff1a;消息。消息是在不同进程之间传递的数据。这些进程可以部署在同—台机器上&#xff0c;也可以 分…

设计模式之手写策略模式实现动态支付(Java实现)

首先&#xff0c;定义一个接口类 import java.util.Map;public interface PayInterface {/*** 支付方法* param amount 支付金额* param paymentInfo 支付信息&#xff08;如卡号、密码等&#xff09;* return 支付结果*/boolean pay(double amount, Map<String, String>…

Spring Boot 虚拟线程 vs WebFlux:谁更胜一筹?

Spring Boot 作为构建现代 Java 应用程序的强大框架,为开发者提供了多种处理并发和可扩展性的解决方案。其中最受关注的两种方案是 Spring Boot 虚拟线程(Java 21 引入)和 Spring Boot WebFlux(基于响应式编程)。虽然两者都致力于优化资源利用率和提升高并发处理能力,但在…

淘宝商品搜索接口|关键字获取商品列表API接入指南

在电商领域&#xff0c;淘宝作为中国最大的电子商务平台之一&#xff0c;拥有海量的商品资源。对于开发者而言&#xff0c;通过淘宝开放平台提供的 API 接口&#xff0c;能够实现与淘宝平台的深度整合&#xff0c;其中关键字搜索商品 API 接口尤为重要。它允许开发者根据特定的…

Centos 离线部署(MQTT)EMOX脚本并设置开机自启

文件结构 install_emqx.sh #!/bin/bash # Filename: install_emqx.sh # Description: EMQX离线一键部署脚本 (针对特殊目录结构)# 检查root权限 if [[ $EUID -ne 0 ]]; thenecho "请使用root权限运行此脚本&#xff01;" exit 1 fi# 定义依赖包和安装路径 DEP_RPM&…

机器学习基础:从概念到应用的全面解析

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…

【机器学习1】线性回归与逻辑回归

‌逻辑回归与线性回归的主要区别在于理论基础、应用场景和数学模型。 1 线性回归 1.1 理论基础 线性回归主要用于建模自变量与连续性因变量之间关系的统计方法&#xff0c;试图利用一条线来拟合自变量与因变量之间的线性关系。 1.2 应用场景 从应用场景来说&#xff0c;适…

小程序 顶部栏标题栏 下拉滚动 渐显白色背景

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3164fd0e6d6848efaa1e87e02c35179e.png 下拉 100px 后 变成渐变成白色 显示原理 <wd-navbar fixed safeAreaInsetTop :bordered"false":custom-style"background-color: rgba(255, 255, 255, op…

Java底层原理:深入理解类加载机制与反射

一、Java类加载机制 Java类加载机制是Java运行时环境的重要组成部分&#xff0c;它负责将字节码文件加载到JVM内存中&#xff0c;并将其转换为可执行的类。类加载机制的实现涉及类加载器&#xff08;ClassLoader&#xff09;、类加载过程和类加载器的层次结构。 &#xff08;…

Android 中查看数据库内容方式

一、背景 创建的db数据库&#xff0c;有时候需要查看数据库中的数据内容,或者查看数据是否有更新到数据等等。这时候就需要查看数据库的内容。 二、数据库路径 博主用的是第三方的greendao数据库框架,生成的.db文件路径如下:(路径仅供参考) /data/data/app_package/database…

unity实现浮动组件

目录 前言方法后言组件代码 前言 在unity中&#xff0c;要让一个物体变得让人感到轻飘飘的&#xff0c;就可以给一个物体添加上浮动组件。今天我们就来实现它。 方法 我们先来看一下 sin ⁡ \sin sin函数的曲线。 在这条曲线上&#xff0c;随着 x x x向右移动&#xff0c; y…

Cisco Nexus93240接口带宽显示异常高故障- bug

hardware: cisco N93240 software: 9.3(10) 1个万兆接口&#xff0c;显示的rate超出几万倍 开case查询&#xff0c;告知是bug&#xff0c;需要版本升级解决。

pyhton基础【15】函数进阶一

目录 一. 函数进阶 1. 默认参数&#xff1a; 2. 关键字参数&#xff1a; 3. 可变参数&#xff1a; 4. 装饰器&#xff1a; 5. 匿名函数lambda&#xff1a; 6. 高阶函数&#xff1a; 7. 递归函数&#xff1a; 8. 类型注解&#xff1a; 二.函数参数的高级使用 缺…