MySQL中服务器状态变量全解(一)

MySQL 服务器维护了许多状态变量,这些变量提供了关于其操作的信息。您可以使用 SHOW [GLOBAL | SESSION] STATUS 语句来查看这些变量及其值。

  • GLOBAL 关键字(可选)用于显示所有连接的聚合值。这些值通常表示自MySQL服务器启动以来的累计统计信息。
  • SESSION 关键字(也是可选的)用于显示当前连接的状态值。这些值仅表示当前会话的统计信息。

下面是如何使用这些选项的一些示例:

mysql> SHOW GLOBAL STATUS;
+-----------------------------------+------------+
| Variable_name                     | Value      |
+-----------------------------------+------------+
| Aborted_clients                   | 0          |
| Aborted_connects                  | 0          |
| Bytes_received                    | 155372598  |
| Bytes_sent                        | 1176560426 |
...
| Connections                       | 30023      |
| Created_tmp_disk_tables           | 0          |
| Created_tmp_files                 | 3          |
| Created_tmp_tables                | 2          |
...
| Threads_created                   | 217        |
| Threads_running                   | 88         |
| Uptime                            | 1389872    |
+-----------------------------------+------------+

FLUSH STATUS 语句用于重置大多数全局状态变量到它们的初始值,即 0。这个命令对于想要获取某个时间段内的统计信息特别有用,因为它可以清除先前的计数,以便您只获取从新时间点开始的状态变量值。

MySQL 的状态变量提供了关于服务器内部操作和性能的大量信息。这些状态变量可以帮助您诊断问题、监控性能以及进行调优。以下是一些常见的状态变量及其大致含义:

  • Aborted_clients

表示由于客户端在没有正确关闭连接的情况下死亡而导致连接被中止的数量。这通常发生在客户端程序崩溃、网络问题或客户端意外终止时。

这个状态变量可以帮助你了解客户端连接的不稳定情况。如果 Aborted_clients 的值非常高,你可能需要调查为什么这么多客户端连接会异常终止。这可能是由于客户端应用程序的问题、网络问题、服务器资源限制或其他原因导致的。

  • Aborted_connects

 是 MySQL 服务器中的一个状态变量,它表示尝试连接到 MySQL 服务器但失败的次数。这些失败可能是由于各种原因,比如网络问题、认证失败、达到连接限制等。

  • Authentication_ldap_sasl_supported_methods

用于指示支持哪些SASL(Simple Authentication and Security Layer)认证方法,当使用authentication_ldap_sasl插件来实现基于LDAP的SASL认证时。SASL是一种通用的认证框架,它支持多种认证机制,如PLAIN、CRAM-MD5、DIGEST-MD5、GSSAPI、SCRAM-SHA-1、SCRAM-SHA-256等。

然而,不是所有的SASL认证方法都会在所有系统上被支持,因为它们的可用性取决于主机系统的配置和安装的库。Authentication_ldap_sasl_supported_methods变量提供了当前系统上该插件所支持的SASL认证方法的列表。

Authentication_ldap_sasl_supported_methods 变量用于发现在使用 authentication_ldap_sasl 插件进行LDAP SASL认证时支持哪些认证方法。这个变量的值是一个字符串,由支持的方法名组成,方法名之间用空格分隔。

例如:"SCRAM-SHA 1 SCRAM-SHA-256 GSSAPI"表示该插件支持SCRAM-SHA-1、SCRAM-SHA-256和GSSAPI这三种SASL认证方法。

  • Binlog_cache_disk_use

表示的是那些由于超过了 binlog_cache_size 的大小限制,而不得不使用磁盘上的临时文件来存储事务中二进制日志事件的事务数量。这通常发生在事务非常大,或者并发事务量很高,导致内存中的二进制日志缓存不够用时。

另一方面,Binlog_stmt_cache_disk_use 状态变量则跟踪的是那些非事务性(即单个的 SQL 语句)由于超过了 binlog_stmt_cache_size 的大小限制,而不得不使用磁盘上的临时文件来存储的情况。

这两个状态变量是分开计数的,以帮助你更精确地了解二进制日志缓存的使用情况,并据此进行优化。如果你发现 Binlog_cache_disk_use 或 Binlog_stmt_cache_disk_use 的值很高,那么可能需要考虑增加 binlog_cache_size 或 binlog_stmt_cache_size 的值,或者优化你的事务和 SQL 语句,以减少对磁盘 I/O 的依赖,从而提高性能。

  • Acl_cache_items_count

表示当前在访问控制列表(ACL)缓存中存储的权限对象的数量。在 MySQL 的权限系统中,每个用户(或用户与其活跃角色的组合)的权限都被视为一个权限对象。

  • Binlog_cache_use 

表示使用了二进制日志(binlog)缓存的事务数量。

  • Binlog_stmt_cache_disk_use 

表示非事务性语句(即单个 SQL 语句,不是作为事务一部分的语句)使用二进制日志语句缓存(binary log statement cache)时,由于超过了 binlog_stmt_cache_size 的大小限制,而不得不使用临时文件来存储这些语句的次数。

  • Bytes_received

用于表示自 MySQL 服务器启动以来,从所有客户端接收到的字节总数。

  • Bytes_sent

用于表示自 MySQL 服务器启动以来,发送给所有客户端的字节总数。

  • Caching_sha2_password_rsa_public_key 

表示 caching_sha2_password 身份验证插件所使用的 RSA 密钥对中的公钥。这个公钥用于基于 RSA 密钥对的密码交换,以增加密码在客户端和服务器之间传输的安全性。

当 MySQL 服务器配置为使用 caching_sha2_password 身份验证插件,并且成功地在由 caching_sha2_password_private_key_path 和 caching_sha2_password_public_key_path 系统变量指定的文件中初始化了私钥和公钥时,Caching_sha2_password_rsa_public_key 的值才会是非空的。这个变量的值直接来自 caching_sha2_password_public_key_path 指定的公钥文件。

  • Com_xxx

用于跟踪各种 SQL 语句的执行次数。这些计数器变量对于监控和诊断数据库性能非常有用,因为它们可以提供关于数据库工作负载的详细信息。

在 MySQL 中,对于每种类型的 SQL 语句,都存在一个与之对应的 Com_xxx 状态变量来记录该语句被执行的次数。

例如:

  • Com_delete:记录了自 MySQL 服务器启动以来,通过 DELETE 语句从表中删除行的次数。DELETE 语句通常用于从单个表中删除一行或多行。

  • Com_update:记录了自 MySQL 服务器启动以来,通过 UPDATE 语句修改表中现有行的次数。UPDATE 语句用于更改表中的现有记录。

  • Com_delete_multi:专门用于记录使用多表语法的 DELETE 语句的执行次数。多表 DELETE 语句允许在单个查询中同时从多个表中删除行,通常是通过连接多个表并指定要删除的条件。

  • Com_update_multi:与 Com_delete_multi 类似,但它是用于记录使用多表语法的 UPDATE 语句的执行次数。多表 UPDATE 语句允许在单个查询中同时更新多个表中的行。

即使准备好的语句参数未知或在执行过程中发生错误,也会增加所有Com_stmt_xxx变量。换句话说,它们的值对应于发出的请求数,而不是成功完成的请求数。例如,由于状态变量是为每次服务器启动初始化的,并且不会在重新启动时持续存在,因此跟踪restart和shutdown语句的Com_restart和Com_shutdown变量的值通常为零,但如果restart或shutdown语句已执行但失败,则可能为非零。

Com_stmt_xxx状态变量如下所示:

  • Com_stmt_prepare:当执行 PREPARE 语句来准备预处理语句时,此变量的值会增加。

  • Com_stmt_execute:当执行已经准备好的预处理语句时(使用 EXECUTE 语句或类似的 API 调用),此变量的值会增加。

  • Com_stmt_fetch

  • Com_stmt_send_long_data

  • Com_stmt_reset

  • Com_stmt_close:当使用 DEALLOCATE PREPARE 语句释放预处理语句时,此变量的值会增加。

这些变量代表准备好的语句命令。它们的名称指的是网络层中使用的COM_xxx命令集。换句话说,每当执行诸如mysql_stmt_prepare()、mysql_stmt_execute()等准备语句API调用时,它们的值就会增加。但是,prepare、execute或DEALLOCATE prepare的Com_stmt_prepare、Com_stmt_execute和Com_stmt_close也分别增加。此外,prepare、execute和DEALLOCATE prepare语句的旧语句计数器变量Comprepare_sql、Comp_execute_sql和Comp_dealloc_sql的值也会增加。Com_stmt_fetch代表从游标中提取时发出的网络往返总数。

Com_stmt_reprepare表示服务器自动重新准备语句的次数,例如,在语句引用的表或视图的元数据更改之后。reprepare操作会增加Com_stmt_reprepare和Com_stmt_prepare。

Com_explain_other表示执行的explain FOR CONNECTION语句数。

Com_change_repl_filter表示执行的change REPLICATION filter语句数。

  • Compression

 是一个与 MySQL 客户端/服务器通信协议中的压缩功能相关的状态变量。这个状态变量已经被弃用(deprecated),意味着在未来的 MySQL 版本中,它可能会被移除。

  • Compression_algorithm

用于与服务器的当前连接的压缩算法的名称。该值可以是protocol_compression_agorithms系统变量的值中允许的任何算法。例如,如果连接不使用压缩,则该值未压缩;如果连接使用zlib算法,则为zlib。

  • Compression_level

用于与服务器的当前连接的压缩级别。对于zlib连接(默认的zlib算法压缩级别),该值为6,对于zstd连接为1到22,对于未压缩的连接为0。

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

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

相关文章

DWC USB2.0协议学习1--产品概述

本章开始学习记录DWC_otg控制器(新思USB2.0)的特点、功能和应用。 新思USB 2.0 IP主要有两个文档需要参考: 《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Data book》 《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Progra…

Leetcode85 01矩阵中的最大矩形

题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 解题思路 动态规划的思想,记录每一个位置向上能到达的最大高度,和向左能到达的最大宽度。 在一个点进行遍历时…

解决IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题

前言 本篇文章主要是记录解决百问网论坛上面设置 IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题,如下图: 一、查看原理图,找出对应引脚 在这里我们如何确定哪个扩展口中的引脚输出PWM波呢?我们可以通过查看原理图。 查看…

作业6.20

1.已知网址www.hqyj.com截取出网址的每一个部分(要求,该网址不能存入文件中) 2.将配置桥接网络的过程整理成文档,发csdn 步骤i:在虚拟机设置中启用桥接模式 1. 打开VMware虚拟机软件。 2. 选择您想要配置的虚拟机,点击菜单栏中的“…

C++ 基础:指针和引用浅谈

指针 基本概念 在C中,指针是存储其他变量的内存地址的变量。 我们在程序中声明的每个变量在内存中都有一个关联的位置,我们称之为变量的内存地址。 如果我们的程序中有一个变量 var,那么&var 返回它的内存地址。 int main() {int var…

北大医院副院长李建平:用AI解决临床心肌缺血预测的难点、卡点和痛点

2024年6月14日,第六届北京智源大会在中关村展示中心开幕,海内外的专家学者围绕人工智能关键技术路径和应用场景,展开了精彩演讲与尖峰对话。在「智慧医疗和生物系统:影像、功能与仿真」论坛上,北京大学第一医院副院长、…

孩子不想上学,父母应如何教育?“强迫教育”会激起孩子反抗心理

上周末朋友聚会,都是家有上学娃的年纪,闲聊中,话题自然少不了孩子的上学问题。其中,不少朋友都有抱怨过同一个问题:孩子不想上学,即使人到了学校,心也不在学校。   事实上,孩子出现…

java复习宝典,jdbc与mysql数据库

一.java 1.面向对象知识 (1)类和对象 类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成。 类是对象的概括或者抽象,对象是类的实例化。 举例:例如车有很多类型&#xf…

安卓ROM修改默认开启adb调试

要在安卓ROM中修改默认开启ADB调试,你可以遵循以下步骤。请注意,这些步骤可能因设备型号、ROM版本和具体定制方式而有所不同,但基本流程是相似的: 准备工作: 确保你有一台可root的安卓手机,并且已经解锁了…

计算机系统基础知识(下)

嵌入式系统以及软件 嵌入式系统是为了特定应用而专门构建且将信息处理过程和物理过程紧密结合为一体的专用计算机系统,这个系统目前以涵盖军事,自动化,医疗,通信,工业控制,交通运输等各个应用领域&#xff…

鸿蒙开发Ability Kit(程序框架服务):【Stage模型绑定FA模型ServiceAbility】

Stage模型绑定FA模型ServiceAbility 本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。 UIAbility关联访问ServiceAbility UIAbility关联访问ServiceAbility和UIAbility关联访问ServiceExtensionAbility的方式完全相同。 import { common, Want } from…

【Matlab 六自由度机器人】机器人动力学之推导拉格朗日方程(附MATLAB机器人动力学拉格朗日方程推导代码)

【Matlab 六自由度机器人】机器人动力学概述 近期更新前言正文一、拉格朗日方程的推导1. 单自由度系统2. 单连杆机械臂系统3. 双连杆机械臂系统 二、MATLAB实例推导1. 机器人模型的建立2. 动力学代码 总结参考文献 近期更新 【汇总】 【Matlab 六自由度机器人】系列文章汇总 …

Linux——31个普通信号

每种信号的含义 在Linux操作系统中,信号是一种进程间通信的方式,用于通知进程发生了某种事件。Linux中的普通信号(standard signals)有31个,每个信号都有特定的用途。以下是这31个普通信号的列表及其描述:…

为什么序列化???

跨进程调用,进行数据传输时,无法直接传递对象,需要将对象通过序列化的方式转为字节流或字符流(json),所以需要进行序列化。 需要共享数据时,直接传递对象通常是不可行的,因为对象的…

C# UDP网络通信

TCP和UDP基本概念 TCP:(Transmission Control Protocol)是一种面向连接、可靠的、基于字节流的传输层通信协议。并且提供了全双工通信,允许俩个应用直接建立一个可靠的连接 以进行数据交换 /UDP:(User Datagram Protocol):是一种无连接、不可靠、基于数据报文传输层…

每日复盘-20240625

今日关注: 20240625 六日涨幅最大: ------1--------300930--------- 屹通新材 五日涨幅最大: ------1--------300930--------- 屹通新材 四日涨幅最大: ------1--------300386--------- 飞天诚信 三日涨幅最大: ------1--------300386--------- 飞天诚信 二日涨幅最大: ------…

JVM专题十:JVM中的垃圾回收机制

在JVM专题九:JVM分代知识点梳理中,我们主要介绍了JVM为什么采用分代算法,以及相关的概念,本篇我们将详细拆分各个算法。 垃圾回收的概念 垃圾回收(Garbage Collection,GC)确实是计算机编程中的…

【Android面试八股文】你能说一说RecycleView与ListView的对比吗?着重说一下缓存策略,优缺点。

文章目录 一、考察的知识点二、RecycleView与ListView的对比2.1 布局效果2.2 Item点击事件2.3 空数据处理2.4 头尾布局2.5 局部刷新2.6 动画效果2.7 缓存机制2.7.1 层级不同2.7.2 缓存内容不同2.7.3 缓存机制2.7.4 ListView与RecyclerView缓存级别的对比2.7.4.1 ListView(两级缓…

【自然语言处理系列】探索NLP:使用Spacy进行分词、分句、词性标注和命名实体识别,并以《傲慢与偏见》与全球恐怖活动两个实例文本进行分析

本文深入探讨了scaPy库在文本分析和数据可视化方面的应用。首先,我们通过简单的文本处理任务,如分词和分句,来展示scaPy的基本功能。接着,我们利用scaPy的命名实体识别和词性标注功能,分析了Jane Austen的经典小说《傲…

discuz插件之优雅草超级列表互动增强v1.2版本更新

https://doc.youyacao.com/9/2142 v1.2更新 discuz插件之优雅草超级列表互动增强v1.2版本更新 [title]20220617 v1.2发布[/title] 增加了对php8的支持 增加了 对discuz3.5的支持