`
wx1569063608
  • 浏览: 22660 次
文章分类
社区版块
存档分类
最新评论

mysqlreport 文档

 
阅读更多
作/译者:叶金荣(Email: 13132415_ffU2.gif),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
原文来自:http://hackmysql.com/mysqlreportdoc

mysqlreport 文档

mysqlreport 以很友好的方式显示 MySQL状态变。事实上,它几乎报告了所有的状态。不像 SHOW STATUS 只是在显示了100多个状态值,mysqlreport 则以人性化的方式阐释和格式化了这些状态值,大大增加了其可读性。可以 点击这里 查看mysqlreport的例子。
mysqlreport 的好处是可以快速的查看各种状态参数组,从而了解服务器的运行状态情况,而无需从 SHOW STATUS 的结果中人工计算。例如索引读取比率是个重要的参数,但是 SHOW STATUS 中并没有显示;它是一个推断值(key_reads 和 key_read_requests 的比值)。
本文档描述了 mysqlreport 的所有命令行选项,大部分是用于控制如何显示结果的。本文并没有解释这些推断值是怎么计算得到的,可以点击 理解mysqlreport 查看具体的计算方法。

注意

命令行选项的格式是 --选项,不过 -选项 的格式也可以。所有的选项都有其缩写,只要是唯一的。例如,选项 --host 可以缩写成 --ho,不过不能写成 --h,因为 --h 有歧义,可能是 --host 或者 --help。

选项列表

--user USER
--password
--host ADDRESS
--port PORT
--socket SOCKET
--no-mycnf
--help
这些选项是模拟其他标准应用程序的。从 2.3 版本开始,--password 可以在后面加上参数,如 "--password FOO"。如果命令行中只指定了选项 --password,则会提示输入密码。--no-mycnf 告诉 mysqlreport 不要读取 ~/.my.cnf,默认会去读取这个文件。--user 和 --password 总是覆盖从 ~/.my.cnf 中取得的结果。
--infile FILE 直接从文件中读取状态文件,而不是从MySQL的 SHOW STATUS 中读取。文件内容通常是从 SHOW STATUS 的结果中取得,并且包含格式化字符(|, +, -)。mysqlreport 认为这样的文件"状态名 数值"格式的,状态包含字符和下划线(A-Z 和 _),数值则是非负整数。在状态名和数值之间的任何内容都会被忽略。mysqlreport 也需要以下MySQL服务器系统变量:version, table_cache, max_connections, key_buffer_size, query_cache_size, thread_cache_size。INFILE 的格式也可以是 "名字 = 数值"这样的,名字可以使是上面提到的各种变量名,数值是非负整数,可能后面带有M或者其他单位(根据版本不同而定)。例如,想要指定 18M 的 key_buffer_size:key_buffer_size = 18M。或者,256 个 table_cache:table_cache = 256。M 指兆字节,而非百万。因此 18M 是 18,874,368,而非 18,000,000。如果这些服务器变量没有指定,则使用默认以下默认值:0.0.0, 64, 100, 8M, 0, 0,就可能会让报告结果看起来很奇怪。
注意:MySQL 服务器版本在 5.1.3 或更新时,尽管系统变量 table_cache 改成了 table_open_cache,但是读取本地文件时仍采用 table_cache。
--outfile FILE 在屏幕显示完报告结果后,将结果写入文件中。mysqlreport 的内部机制总是先将结果写入临时文件中。然后将该临时文件里的内容打印到屏幕上。然后,如果指定了 --outfile 选项,则将临时文件拷贝成 OUTFILE。如果指定选项 --email,则会删除临时文件。
--email ADDRESS 在屏幕显示完结果后,将结果发送到邮件地址 ADDRESS 中去。欲该选项,需要在 /usr/sbin/ 目录下有 sendmail 程序,因此无法在 windows 平台下使用。/usr/sbin/sendmail 可以符号链接到 qmail,或者任何其他能模拟 sendmail -t 方式的 MTA 程序。邮件来源是:mysqlreport,主题是:MySQL status report on HOST,HOST 是 mysqlreport
所在的主机名,可能是读取到的 --host 值,默认是 localhost。
--flush-status 显示完报告后,执行 "FLUSH STATUS;" 语句。如果没有权限,则 DBD::mysql 会显示返回值。
--relative (-r) X mysqlreport 通常情况下报告的是自从 MySQL 服务器启动以来的状态信息。--relative 选项则是令 mysqlreport 产生一份自从上次报告以来的相关报告。


如果 --relative X 的 X 值是一个整数,则 mysqlreport 会在隔 X 秒后再次产生一份 MySQL 服务器的状态报告。产生报告的次数是由 --report-count 选项来控制的。默认是产生 1 份相关的报告。例如,指定 --relative 的值为 60,则会产生 2 份报告:第一份会马上生成,第二份会在 60 秒后再次生成。第二份报告中的数值会和前面的那份相关。例如,前面那份中总共有 10.00k 次查询,在这 60 秒的间隔时间里接受了新的 1.00k 次查询,则第二份的报告中的总查询次数是 1.00k 而非 11.00k 次。



如果 --relative 选项的值也可以是本地文件(类似 --infile 选项的用法),那么 mysqlreport 会按照参数值中文件的顺序来依次产生状态报告。因此,根据这些文件产生的时间来指定选项的值非常重要:较早产生的文件放在参数的前面。第一个文件中必须有手工添加的系统变量,例如:key_buffer_size、table_cache 等。每个文件中可以有多组 "SHOW STATUS" 的结果。注意:通过 "mysqladmin -r -i N extended" 产生的状态文件无法使用,因为 mysqladmin 的 -r 参数已经令其产生了具有相对性的状态值了。



由于 mysqlreport 首先会把状态报告写到临时文件中,如果 --relative 的值是 整数(而非 本地文件)时,mysqlreport 会显示它把文件写到哪了。那么就可以直接通过查看这些文件内容来观察服务器的状况了。
--report-count (-c) N 生成 N 份相关的报告。本选项只有在同时启用 --relative 选项后才有效。mysqlreport 会自动产生 N+1 份报告:第一份基本报告,以及后面的 N 份相关报告。
--detach 若指定本选项,则 mysqlreport 会派生出进程来,不只是在屏幕显示结果,还会转入后台继续运行。派生新进程后,mysqlreport 会报告它把结果写入哪个临时文件了。本选项还可以指定 --outfile 或 --email 的一个。如果没有指定 --outfile 或 --email 的值,则产生的临时文件会被删除,因为 mysqlreport 派生出新进程后,无法再将结果打印到终端屏幕上了。本选项如果和 --relative 一起使用的话就更有意义了,这样 mysqlreport 就能定时报告信息,而无需人工登录等方式在中断执行了。使用如下的命令,就能让 mysqlrepot 隔一个小时再次产生一次报告,并将结果发送到自己的信箱中去:
mysqlreport -r 3600 -detach -email host@domain.com

一个小时候后,mysqlreport 通过email发送报告,删除临时文件,并且干净地终止。
--debug 显示调试信息。
--dtq (Questions 报告的 Total 部分中)显示所有的查询分布报告。这些查询主要包括以下四部分:DMS (见下面)、COM_ (见下面)、COM_QUIT(见 COM_QUIT and Questions)、以及其他未知。每部分根据其总数倒序显示。
--dms (Questions 报告的 DMS 部分中)显示所有的数据维护语句(DMS)报告。DMS是下面文档 13.2. Data Manipulation Statements 中提到的那些(当前主要有:SELECT, INSERT, REPLACE, UPDATE, and DELETE)。每个 DMS 根据其总数倒序显示。
--com N (Questions 报告之后)以降序显示最多 N 个 非DMS Com_ 状态值。如果没有指定 N 的值,则默认是 3。所谓的非DMS Com_ 状态值,包括:Com_change_db、Com_show_tables、Com_rollback 等。
--sas (Questions 报告之后),显示所有的 Select_ 和 Sort_ 报告。详情请看 MySQL Select and Sort Status Variables
--qcache 如果打开查询缓存的话,则显示查询缓存状态报告。
--tab (Create Temp 报告之后)显示 线程、放弃的、流量 等状态报告。从 mysqlreport v2.3 开始,线程状态是从 Threads_ 状态值读取。
--innodb 显示 InnoDB 状态报告,包括MySQL 5.0.2以后才支持的InnoDB 缓冲池,以及5.0.3以后才支持的InnoDB锁状态报告。
--innodb-only 只显示 InnoDB 报告;不显示其他报告。
--dpr 显示 InnoDB 数据,页,行报告。
--all 如果可能,则显示所有的状态报告。一些报告,比如查询缓存、InnoDB等需要特定版本的MySQL或者其他特性才能支持。例如,尽管服务器支持查询缓存,但是它被禁用了,则不管是否指定了 --qcache 或者 --all,都不会显示查询缓存的报告。

发现bug或者错误时怎么办

若 mysqlreport 无法运行, 请给我发送具体的错误信息
(Doc rev: May 26 2007)
本文出自 “MySQL中文网”博客 http://www.imysql.cn/
 

转载于:https://my.oschina.net/yejr/blog/878607

分享到:
评论

相关推荐

    mysqlreport安装三件套

    mysqlreport安装三件套mysqlreport安装三件套mysqlreport安装三件套mysqlreport安装三件套mysqlreport安装三件套mysqlreport安装三件套mysqlreport安装三件套

    mysqlreport-3.5.rar

    在“mysqlreport-3.5.zip”文件中,您将找到 MySQLreport 的源代码或可执行文件,可能还包括安装指南、使用示例和文档。解压后,根据提供的说明安装和配置 MySQLreport。通常,您需要确保它有权限连接到 MySQL ...

    mysqlreport源码安装包三件套

    MySQLreport是一款实用的工具,它能生成详细的MySQL服务器性能报告,包括各种关键指标,如查询效率、表状态、缓存利用率等。这个源码安装包包含三个主要组件:DBI(Database Interface)、DBD(Database Driver for ...

    mysqlreport-3.5

    MySQLreport 是一个强大的工具,主要用于生成关于 MySQL 数据库服务器的详细报告。这个工具的主要目标是提供一种简单且直观的方式来查看数据库的性能指标、状态和配置信息。MySQLreport v3.5 版本提供了更完善的报告...

    使用开源工具mysqlreport监控Mysql数据库-简易使用方法分享.pdf

    MySQLreport 是一个基于命令行的开源工具,用于监控 MySQL 数据库的状态和性能。它通过收集并格式化 MySQL 的系统变量和状态信息,提供了一个简洁的报告,帮助管理员了解数据库的运行情况。虽然不支持实时刷新,但...

    mysqlreport.tar

    mysqlReport

    mysqlreport-3.5.tar.gz

    MySQLreport是一款强大的命令行工具,专门用于收集和报告MySQL服务器的各种状态信息,便于数据库管理员进行性能分析和故障排查。在“mysqlreport-3.5.tar.gz”这个压缩包中,包含的是MySQLreport的3.5版本。下面我们...

    mysqlreport

    mysqlreport 可将重要的 MySQL 系统资讯整理为具有较高可读性的报表,使你更容易阅读与深入理解目前 MySQL 的实际运作状况。除了手动执行 SHOW STATUS 指令并以人眼去过滤与判断目前的系统状态以外,mysqlreport ...

    mysqlreport报告分析记录

    MySQLreport 是一个强大的工具,它能提供 MySQL 服务器的详细状态报告,包括各种性能指标、配置参数以及系统资源使用情况。对于数据库管理员来说,理解并分析这些报告是优化数据库性能的关键步骤。本篇文章将深入...

    使用开源工具mysqlreport监控Mysql数据库-简易使用方法.pdf

    MySQLreport 是一个基于命令行的开源工具,用于监控 MySQL 数据库的状态和性能。它通过收集和格式化 MySQL 的系统变量和状态信息,提供了一个简洁的报告,帮助管理员了解数据库的健康状况、性能瓶颈以及资源使用情况...

    mysql性能分析工具mysqlreport)

    mysqlreport是由hackmysql.com 的站长所撰写的 Perl Scritps,旨在协助 MySQL DBA 搜集与分析 MySQL 的运作状况。用着感觉不错。 官方网站: http://hackmysql.com/ 软件下载: http://hackmysql.com/mysqlreport

    mysqlreport显示Com_中change_db占用比例高的问题的解决方法

    标题中的“mysqlreport显示Com_中change_db占用比例高的问题的解决方法”指的是在使用mysqlreport工具分析MySQL服务器性能时,发现`Com_change_db`操作的频率异常高,这可能是导致服务器频繁出现阻塞和重启的原因之...

    MySQL 效能监控工具

    ### MySQL效能监控工具—mysqlreport #### 一、引言 在MySQL数据库管理过程中,确保服务器性能稳定且高效运行是一项重要任务。面对大量的系统变量数据,手动收集与分析变得异常繁琐且低效。为此,mysqlreport...

    Linux实战型企业运维工程师试题测评 433页

    另外,文档提到了一些关键的监控和诊断命令如sar、vmstat、df,以及故障排除工具如ip_conntrack、mysqladmin、mysqlreport等,这些都是运维工程师在日常工作中不可或缺的工具。对于文档中提到的故障案例,如“文件...

    LAMP源码包

    - **监控与备份**: 使用工具如 mysqlreport 分析 MySQL 性能;定期备份数据库以防止数据丢失。 综上所述,LAMP 源码包提供的组件构成了一套完整的Web开发环境,从服务器到数据库再到编程语言,为开发者提供了强大...

    jasperreports 与 iReport

    - `mysqlreport2.html` 和 `mysqlreport2.jasper` 代表另一个基于MySQL数据的报表。 - `report1.html`, `report1.jasper`, `kanshu4.jasper`, `kanshu2.jasper`, `subreport3.jasper` 分别代表不同的报表和可能的子...

    mysql innodb的监控(系统层,数据库层)

    也可以用一些现成的监控工具进行查询,目前用的比较多的innotop、mysqlreport、mtop、mytop,还有淘宝perl语言研发的orzdba。 就监控的指标而言,有系统层面的,数据库层面的。 1、系统层面包括系统的load、cpu、...

    2009系统架构师大会PPT:叶金荣:MySQL优化

    - **文档记录**:对于每次优化的过程和结果进行详细记录,为后续维护提供参考。 - **培训提升**:对团队成员进行相关培训,提高整体的技术水平。 通过以上步骤,可以从不同的角度深入理解MySQL系统的性能状况,并...

    JavaEye的Boss分享关于缓存的理解

    监控缓存状态至关重要,MySQL提供了一系列的监控工具,如`show status like 'Qcache%'`、`show innodb status\G`和mysqlreport等,帮助开发者了解Query Cache和InnoDB Buffer Pool的使用情况,以便进行优化。...

Global site tag (gtag.js) - Google Analytics