进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后DBA就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。这篇文章既不分析mysqlreport的报告含义,也不说明优化参考点的计算公式和原理,只简单描述使用方法。后面再逐次深入分析。

mysqlreport的安装极为简单,下载上述文档后,使用tar -xvf mysqlreport-3.5.tar解压后,在当前目录生成文件夹mysqlreport-3.5,该文件夹下的mysqlreport即是可执行程序。

注意:mysqlreport为perl脚本,用到DBI以及DBD::mysql,须正确安装后才能正常使用!

mysqlreport命令行选项参数

linux-8tpn:/home/kevin/perl # perl mysqlreport --help

mysqlreport v3.5 Apr 16 2008

mysqlreport makes an easy-to-read report of important MySQL status values.

Command line options (abbreviations work):

--user USER Connect to MySQL as USER

--password PASS Use PASS or prompt for MySQL user's password

--host ADDRESS Connect to MySQL at ADDRESS

--port PORT Connect to MySQL at PORT

--socket SOCKET Connect to MySQL at SOCKET

--no-mycnf Don't read ~/.my.cnf

--infile FILE Read status values from FILE instead of MySQL

--outfile FILE Write report to FILE

--email ADDRESS Email report to ADDRESS (doesn't work on Windows)

--flush-status Issue FLUSH STATUS; after getting current values

--relative X Generate relative reports. If X is an integer,

reports are live from the MySQL server X seconds apart.

If X is a list of infiles (file1 file2 etc.),

reports are generated from the infiles in the order

that they are given.

--report-count N Collect N number of live relative reports (default 1)

--detach Fork and detach from terminal (run in background)

--help Prints this

--debug Print debugging information

Visit http://hackmysql.com/mysqlreport for more information.

选项

解释

- -user

连接MySQL的用户名

- -password

连接MySQL的用户密码。命令行上出现该选项但没有给出参数时,mysqlreport将在用户回车后提示输入密码

- -host

MySQL服务器地址

- -port

MySQL服务器的开发端口

- -socket

本地MySQL UNIX域套接口路径

- -no-mycnf

该选项指引mysqlreport不要读取 ~/.my.cnf,默认情况下会去读取这个文件。- -user 和 - -password 总是覆盖从 ~/.my.cnf 中取得的参数

- -infile

从status文件读取数据,代替从服务器上读取

- -outfile

打印报告后,将报告同时写入该选项指定的文件中。mysqlreport 的内部机制总是先将报告写入临时文件中,然后将该临时文件里的内容打印到屏幕上。如果指定了- -outfile选项,则将临时文件拷贝成 指定的文件。如果指定了选项- -email,则会删除临时文件

- -email

打印报告后,将结果发送到指定的邮箱。该选项需要使用/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命令

- -relative

mysqlreport通常产生从MySQL启动以来的状态报告。指定- -relative选项可产生相对于前次报告以来的相关报告。

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

如果选项参数是本地文件列表(就像- -infile选项那样),程序会按照参数中文件的顺序来依次产生状态报告。文件列表中的文件应该以空格分隔。以文件产生时间依次排列文件就显得很重要,较早产生的文件应该放在列表的前面。第一个文件中必须有系统变量,例如:key_buffer_size、table_cache 等。每个文件中可以有多组”SHOW STATUS”的结果。注意:通过 “mysqladmin -r -i N extended” 产生的状态文件无法使用,因为 mysqladmin的-r参数已经令其产生了具有相对性的状态值了。

由于mysqlreport首先会把状态报告写到临时文件中,如果- -relative的参数是整数时,mysqlreport会显示它把文件写到哪了。那么就可以直接通过查看这些文件内容来观察服务器的状况

- -report-count

生成N份相关的报告。本选项只有在同时启用- -relative选项后才有效。mysqlreport会自动产生N+1份报告:第一份基本报告,以及后面的N份相关报告

- -detach

本选项使得mysqlreport派生新进程,从终端上脱离转入后台继续运行。派生新进程后,mysqlreport 会报告它把结果写入了哪个临时文件。本选项需要- -outfile或- -email中的一个,如果这两个选项都没有给出,则产生的临时文件就会被删除,因为自派生出新进程后,无法再将结果打印到终端屏幕上了。本选项如果和- -relative选项一起使用的话就更有意义了,这样mysqlreport就能定时报告信息,而无需人工干预获得报告。例如使用如下命令,就能让mysqlrepot隔一个小时再次产生一次报告,并将结果发送到指定的信箱:perl mysqlreport - -relative=3600 - -detach - -email=host@domain.com。一个小时候后,mysqlreport通过email发送报告,删除临时文件,并且干净地终止

- -help

打印帮助信息

- -debug

打印调试信息

使用mysqlreport的简单例子

1.连接远程数据库192.168.12.14

perl mysqlreport - -host=192.168.12.14 - -user=db_user - -password=db_user_password

2.通过本地UNIX域套接口文件/data/mysql_data/mysql.sock连接本地数据库

perl mysqlreport - -user=root - -password=root_password - -socket=/data/mysql_data/mysql.sock

3.将输出报告写入文件/data/mysql_data/report/mysqlreport.txt

perl mysqlreport - -user=root - -password=root_password - -socket=/data/mysql_data/mysql.sock - -outfile=/data/mysql_data/report/mysqlreport.txt

mysql report-port_mysql性能优化工具mysqlreport相关推荐

  1. mysql监控和性能分析工具

    mysql监控和性能分析工具 Mysql作为广泛应用的数据库系统,平时运维工作中对她的监控必不可少,现在把我对Mysql数据库的监控体会写成下文,欢迎拍砖. 无论是DBA或是SA,监控的目标都很明确, ...

  2. Android开发常用工具,编译调试工具,性能优化工具,工具集

    分析具体耗时的Trace view;布局复杂度工具Hierarchy View;应用启动时间;Memory.CPU.Network分析;静态代码检查工具Lint;程序稳定性monkey.adb调试桥. ...

  3. MySQL系列-高级-性能分析工具-EXPLAIN

    MySQL系列-高级-性能分析工具-EXPLAIN 1. EXPLAIN概述 1.1 官网介绍 1.2 EXPLAIN 基本语法 2. 基于函数和存储过程插入数据 2.1 创建表 2.2 创建函数和过 ...

  4. 计算机二级mysql工具_2020年全国计算机二级MySQL复习知识点:优化工具

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级MySQL复习知识点:优化工具,希望能够助力全国计算机等级考试,相 ...

  5. Android 性能优化工具

    Android 性能优化工具 这段时间总结了一些常用的性能优化工具,当然这些并没有包含全部的工具,下面稍微对这些工具做个简单的总结: 1.应用codeReview工具 StrictMode 检测应用主 ...

  6. Android 性能优化工具 TraceView 简单使用

    背景 最近产品以及测试大佬反应快搜桌面进入搜索页面跳转较为缓慢,影响体验,为了优化这个问题,特地学习Android 性能优化工具 TraceView的 简单使用,这才有了本文. 正文 如下图打开and ...

  7. 百度App Android启动性能优化-工具篇

    一.前言 启动性能是APP的极为重要的一环,启动阶段出现卡顿.黑屏问题,会影响用户体验,导致用户流失.百度APP在一些比较低端的机器上也有类似启动性能问题,为保留存,需要对启动流程做深入优化.现有的性 ...

  8. 网站性能优化工具大全

    网站性能优化(WPO)已经成为一个非常重要的话题了,越来越多的互联网公司开始有WPO的职位,而相关技能也是对前端开发工程师的重要技术要求之一.国外大牛Steve Souders在参加WebPerfDa ...

  9. MySQL模糊查询性能优化

    一.背景 我们经常在数据库中使用 LIKE 操作符来完成对数据的模糊搜索,LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. 如果需要查找客户表中所有姓氏是"孙"的数据 ...

最新文章

  1. 证券期货交易高并发模型
  2. 完全图解RNN、RNN变体、Seq2Seq、Attention机制
  3. [图论]强联通分量+缩点 Summer Holiday
  4. CentOS/RHEL6.5中使用WordPress快速建站
  5. C#学习笔记——软件注册与注册机
  6. JavaScript操作大全整理(思维导图七--字符串函数)
  7. 解决CsrfFilter与Rest服务Post方式的矛盾
  8. RabbitMQ教程_5 整合SpringBoot
  9. VBS进行http请求及JSON数据的读取和生成
  10. python进阶书籍 流畅的python
  11. Android 根据名字获取经纬度,Android 根据城市获取经纬度 适配Android 7.0 、Android 8.0...
  12. js禁止输入框输入特殊符号或emoji表情
  13. 国美易卡管理云平台,国美易卡采用大量另类数据
  14. Dell居然用EMS给我寄发票
  15. 中邮消费金融面试随笔
  16. zCloud使用技巧:如何使用性能下钻功能分析SQL性能问题
  17. 加载繁体字体时遇到的问题
  18. 主数据建设的挑战与发展
  19. 使用 YUI Compressor 批量压缩JS/CSS
  20. TP3.2如何加载第三方类库?加载腾讯短信sdk 报错。

热门文章

  1. 极光推送收费标准_《天涯明月刀OL腾讯旗下 北极光工作室的 厄运魔咒:“做什么凉什么”》...
  2. Scrapy爬虫报错HTTP status code is not handled or not allowed
  3. 软件需求工程 高校教学平台 需求工程计划
  4. C#OOP之十五 String类StringBuilder类
  5. android联系人的简易通讯录
  6. 关于破解的十个基本功
  7. java gmail smtp_使用Javamail连接到Gmail smtp服务器会忽略指定的端口,并尝试使用25...
  8. 解决AndroidStudio编译时报错:org.gradle.api.ProjectConfigurationException;编译报错Read Time out
  9. discuz!内置代码 (收藏)
  10. IIS上解决ASP.Net第一次访问慢的处理