返回顶部
首页 > 资讯 > 数据库 >采集MySQL数据库运行状态数据的方法
  • 455
分享到

采集MySQL数据库运行状态数据的方法

2024-04-02 19:04:59 455人浏览 八月长安
摘要

这篇文章主要介绍“采集Mysql数据库运行状态数据的方法”,在日常操作中,相信很多人在采集mysql数据库运行状态数据的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”采集

这篇文章主要介绍“采集Mysql数据库运行状态数据的方法”,在日常操作中,相信很多人在采集mysql数据库运行状态数据的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”采集Mysql数据库运行状态数据的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


  状态数据项
  MySQL数据库系统提供了数据采集的命令:SHOW STATUS; 或者直接读取虚拟数据库infORMat_schema对象GLOBAL_STATUS(注:5.1及以上版本)的数据,我们队需要重点采集的数据进行一些类别划分。
  1) SQL语句执行量
  (1). Queries
  MySQL服务器执行的所有SQL语句次数,包过存储过程执行的SQL语句,但是不包含命令COM_PING 和COM_STATISTICS的执行次数;
  (2). Questions
  由客户端发送给服务器端执行的所有SQL语句次数,但是不包含存储过程执行的SQL语句,也不包含命令COM_PING 和COM_STATISTICS的执行次数;
  (3). Com_****统计
  Com_insert — 记录INSERT INTO TABLE tablename VALUES(…)…语句执行的次数;
  Com_insert_select — 记录INSERT INTO TABLE tablename SELECT …语句执行的次数;
  Com_delete — 记录DELETE [FROM] tablename…语句执行的次数;
  Com_delete_multi — 记录DELETE [FROM] tablename1,tablename2…语句执行的次数;
  Com_select — 记录SELECT …FROM tablename1…语句执行的次数;
  Com_update — 记录UPDATE tablename1 SET …语句执行的次数;
  Com_update_multi — 记录UPDATE tablename1,tabkename2 … SET …语句执行的次数;
  2) 查询缓存
  Qcache_hits — 查询语句命中查询缓存的次数;
  Qcache_inserts — 查询语句及记录集加入到查询缓存的数量;
  Qcache_lowmem_prunes — 因查询缓内存容量不足,而不得不从查询缓存中删除的缓存记录数;
  Qcache_not_cached — 从查询缓存中没有找到对应缓存SQL语句的SELECT查询语句数量;
  Qcache_queries_in_cache — 有多少查询语句正缓存在查询缓存中;
  3) MyISAM引擎
  Key_blocks_used — 索引缓存区内块使用量,通过记录历史数据可以找出内存块使用情况;
  Key_blocks_unused — 索引缓存区内存未使用的量,可以推断出有索引缓存区的使用率;
  Key_read_requests — 直接通过索引缓存区获得相应的数据,也即数据库逻辑读IO的量;
  Key_reads — 无法通过索引缓存区获得相应的数据,必须读文件系统或磁盘上的数据,也
  即数据库物理读的量;
  Key_write_requests —直接通过修改索引缓存区中的索引值的逻辑写IO量;
  Key_writes — 无法通过直接修改索引缓存区中的索引值完成,必须直接修改文件系统或磁
  盘上数据的物理写IO量;
  4) InnoDB引擎
  Innodb_buffer_pool_read_ahead_rnd — InnoDB引擎后台读线程随机性读而产生的IO数量,一般发生在扫描一个表数据,以随机性的方式;
  Innodb_buffer_pool_read_ahead_seq — InnoDB引擎后台读线程顺序读而产生的IO数量,一般发生在顺序全表扫描;
  Innodb_buffer_pool_read_requests — InnoDB引擎数据的逻辑读IO量;
  Innodb_buffer_pool_reads — InnoDB引擎数据的物理读IO量;
  Innodb_buffer_pool_wait_free — 当Innodb_buffer_pool中无可用的空闲内存块,且需要读或创建一个内存块,则需要刷新一页,再分配给需要的线程
  进行写操作,这个时候就会发生等待而计数。因为InnoDB引擎表的数据都都是在InnoDB内存缓存区中进行读写操作,
  然后由后台线程负责把数据写到磁盘上。
  Innodb_buffer_pool_write_requests — InnoDB引擎数据写向InnoDB_buffer_pool_size的逻辑写IO量;
  Innodb_rows_deleted — InnoDB引擎表数据被删除的行数;
  Innodb_rows_inserted — 向InnoDB引擎表增加的记录行数;
  Innodb_rows_updated — InnoDB引擎表数据被修改的行数;
  Innodb_rows_read — 读取InnoDB引擎表中数据的行数,UPDATE、DELETE、OPTIMIZE等会对数据表对象有数据读取的操作,都被计算在其内;
  5) 事务相关
  Com_commit — 支持事务的引擎,进行的事务提交次数;
  Com_rollback — 支持事务的引擎,进行的事务回滚次数;
  6) 临时表或文件
  Created_tmp_files — MySQL系统创建的临时文件数量总和,不包含显示创建的临时表,另外临时文件转换成临时表的话,则不一定一一对应,
  也不一定是三分之一的关系。若是系统隐患创建的临时表,则都是MyISAM格式的,所以会有三个临时文件;若是指定
  临时表存储引擎为heap,则是一个临时文件;
  Created_tmp_disk_tables — MySQL系统创建基于磁盘上的临时表数量,临时默认创建都是基于内存中,若是超过tmp_table_size或
  max_heap_table_size的大小,则会转化成基于磁盘的临时表;
  Created_tmp_tables — MySQL系统创建的不管基于磁盘的,还是基于内存的,该值都增加;
  7) 其他
  Bytes_sent — MySQL服务器端发送给客户端的字节数;
  Bytes_received — 所有客户端发送给MySQL服务器端的字节数;
  Slow_queries — SQL语句执行时间大于long_query_time值的数量;
  Sort_range — SQL语句使用范围排序的数量;
  Sort_rows — SQL语句引起数据排序的总行数;
  Sort_scan — 要进行数据排序而对表扫描的SQL执行次数;
  Aborted_connects — 客户端异常崩溃而没有正常关闭数据库连接线程的数量;
  Connections — 客户端尝试与MySQL服务器端建立连接的次数,失败的次数也算在其内;
  Uptime — mysqld服务进程运行的时长,单位秒;
  数据采集方式
  状态性能数据的采集,不管用何办法都是执行SHOW GLOBAL STATUS;然后再对需要的数据项,通过shell脚本的方式获得;
  或者

双击代码全选
1SELECT VARIABLE_NAME, VARIABLE_VALUE FROM information_schema. GLOBAL_STATUS WHERE VARIABLE_NAME IN (…);

  采集到的数据,我们还需要进行分类对待,一类数据项只为某个时间点的状态值,另外一类数据项为累计的值

  数据展示分析
  针对脚本程序自动采集的数据,作部分数据截图展示,以及把部分参数数据导成CVS格式,然后在windows环境下绘制曲线图的方式,以便直观地对比分析,另外也可以自己开发一套程序或者借助其他绘图工具的方式绘制趋势图。
   针对采集的数据,对部分参数(三个参数:Com_update、Innodb_buffer_pool_reads、 Innodb_buffer_pool_read_requests)做一个图形化分析的效果展示,我们可以通过SQL语句生成cvs格式的数据,比如针 对Com_update数据每秒平均执行次数的数据导出SQL语句:

双击代码全选
1 2 3 4 5 6SELECT M.CreateDate,M.total_num/N.total_num INTO OUTFILE 'com_update.cvs'FROM performance_innodb M INNER JOIN(SELECT total_num,CreateDate FROM performance_innodb WHERE statu_item='Uptime' AND CreateDate>='2011-10-12' AND CreateDate<'2011-10-13' AND host_port=3308) N ON M.CreateDate=N.CreateDate WHERE host_port=3308 and statu_item='Com_update' and M.CreateDate>='2011-10-12' AND M.CreateDate<'2011-10-13';

  1) Performance_innodb表数据

  2) Com_update数据曲线图

  3) Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests曲线图

  备注:
  MySQL数据库在跑热之后,且需要操作的业务数据基本都存储在内存中,为此InnoDB引擎表的物理IO读/每秒 相比InnoDB引擎表的逻辑IO读/每秒非常小,为此曲线图中看到几乎接近水平轴。

到此,关于“采集MySQL数据库运行状态数据的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 采集MySQL数据库运行状态数据的方法

本文链接: https://lsjlt.com/news/59345.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 采集MySQL数据库运行状态数据的方法
    这篇文章主要介绍“采集MySQL数据库运行状态数据的方法”,在日常操作中,相信很多人在采集MySQL数据库运行状态数据的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”采集...
    99+
    2024-04-02
  • Postgres数据库运行状态监控及元数据查询方法
    数据库空间占用 SELECT pg_database.datname, pg_size_pretty ( pg_database_size ( pg_database.datname ) ) AS SIZE FRO...
    99+
    2018-09-28
    Postgres数据库运行状态监控及元数据查询方法
  • 数据库数据采集的方法有哪些
    这篇“数据库数据采集的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“数据库数据采...
    99+
    2023-03-13
    数据库
  • linux怎么查看数据库运行状态
    在Linux系统中,可以使用以下命令来查看数据库的运行状态:1. MySQL/MariaDB:- 查看MySQL服务是否正在运行:`...
    99+
    2023-08-29
    linux 数据库
  • db2怎么查看数据库运行状态
    要查看DB2数据库的运行状态,可以使用以下命令: 使用命令行窗口登录到DB2数据库: db2 在DB2控制台中,使用以下命令...
    99+
    2024-04-09
    db2
  • 如何查看oracle数据库运行状态
    要查看Oracle数据库的运行状态,可以使用以下方法: 使用SQLPlus:登录到数据库服务器上,打开命令行窗口,输入以下命令登录...
    99+
    2024-04-09
    oracle
  • linux怎么查看oracle数据库的运行状态
    在Linux系统中,可以通过以下方式来查看Oracle数据库的运行状态: 使用ps命令查看数据库的进程状态: ps -ef | ...
    99+
    2024-04-09
    linux oracle
  • MySQL数据库执行analyze采集信息的示例
    这篇文章给大家分享的是有关MySQL数据库执行analyze采集信息的示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。故障简介之前,有开发找到我,说应用的某个功能查询比以前慢了...
    99+
    2024-04-02
  • 采集数据的方法有哪些
    采集数据的方法有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、埋点采集首先就是端上数据,即一个服务的客户端或者服务器端产生的数据,例如我们的用户点了哪些...
    99+
    2023-06-14
  • Zabbix3.0.4监控MySQL数据库状态
    先在zabbix主机上面配置好MySQL服务器的信息,添加好zabbix自带的Template App MySQL模版,然后去mysql服务器上安装agent,再添加mysql监控脚本。 &nbs...
    99+
    2024-04-02
  • 监控mysql数据库主从状态
    python版本2.6.6#!/usr/bin/pythonimport MySQLdbdef check_mysql():    status = True &nb...
    99+
    2024-04-02
  • mysql如何查看数据库状态
    要查看MySQL数据库的状态,可以使用以下几种方式: 使用MySQL命令行客户端:在命令行中输入以下命令可以查看MySQL数据库的...
    99+
    2024-04-13
    mysql
  • MySQL怎么查看数据库状态
    要查看MySQL数据库的状态,可以使用以下命令: 打开MySQL命令行客户端:在命令行中输入mysql -u 用户名 -p,然后...
    99+
    2024-04-09
    mysql 数据库
  • PHP数据采集方法有哪些
    PHP数据采集方法有以下几种:1. 使用cURL库:cURL是一个功能强大的开源库,可以用来发送HTTP请求并获取响应。通过cURL...
    99+
    2023-08-24
    PHP
  • Python使用psutil库对系统数据进行采集监控的方法
    大家好,我是辰哥~ 今天给大家介绍一个可以获取当前系统信息的库——psutil 利用psutil库可以获取系统的一些信息,如cpu,内存等使用率,从而可以查看当前系统的使用情况,实时采集这些信息可以达到实时监控系统的...
    99+
    2022-06-03
    Python psutil系统监控 Python使用psutil库
  • 阿里云数据库文件采集方法详解
    随着云计算技术的不断发展,越来越多的企业开始使用阿里云等云服务提供商的数据库服务。然而,当这些数据库中的数据发生变化时,如何及时地获取这些变化的数据是一项重要的任务。本文将详细讲解阿里云数据库文件的采集方法。 一、阿里云数据库文件采集概述阿...
    99+
    2023-10-31
    阿里 详解 数据库文件
  • 如何进行数据采集和数据上报
    本篇内容介绍了“如何进行数据采集和数据上报”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据采集性能数据采...
    99+
    2024-04-02
  • 运行中的mysql状态的查看方法
    本篇内容介绍了“运行中的mysql状态的查看方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  对正在运...
    99+
    2024-04-02
  • 数据采集的五种方法有哪些
    数据采集的五种方法有:1.实地调查:直接走访或观察目标群体、地点或事件,收集数据。2.问卷调查:通过设计并分发问卷,收集被调查者对特...
    99+
    2023-08-24
    数据采集
  • 阿里云数据采集与数据库整合解决方案
    ## 本文将介绍如何使用阿里云的数据采集服务与数据库整合,实现数据的高效管理和利用。我们将详细介绍如何在阿里云上搭建数据采集服务,并结合数据库进行数据存储和分析。数据采集与数据库整合在现代业务中,数据的重要性不言而喻。无论是企业决策还是市...
    99+
    2023-12-26
    阿里 数据采集 解决方案
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作