来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] status系列 Mysql提供了一系列命令来获取数据库的运行状态,其中最常用的主要有show status;show innodb status;show processlist; show mutex status。通过这些命令我们可以了解到数据库和存储引擎io...
status系列Mysql提供了一系列命令来获取数据库的运行状态,其中最常用的主要有show status;show innodb status;show processlist; show mutex status。通过这些命令我们可以了解到数据库和存储引擎io,内存,锁等详细信息。参考资料:http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/Mysqlstatus 监控工具――Mysqlreport上面列出的各种status命令,能够方便地实时查看。 若需要长期监控,则需要工具对这些信息进行整理汇总。目前常见的mysql监控有mysqlreport、mysqlsla、innotop,还有公司内部开发的Mysql-mon。其中mysqlreport和mysql-mon属于状态统计类型。数据来源: [mysql]show global status [mysql]Show Global Variables [mysql]Show Full Processlist [系统] vmstat/iostat/mpstat 由于上述参数复杂,因此监控工具抽取重要的信息,以方便查看的方式显示,并记录都在日志中。 Mysqlreport是一款支持周期生成报表的工具。 从mysqlreport报表中能够得到的信息有分为一下几类: 1、总体数据:包括读写总请求、接收/发送总数据量、慢查询次数 2、DMS(数据操作描述):各种数据操作分布(select、update等)、查询和排序次数分布 3、Cache:包括cache命中率、cache操作次数及比例(查询命中率、插入次数、修改次数的比例) 4、表: 包括表锁次数、打开表文件个数、临时表类型分布、最大连接数等 5、InnoDB相关:包括innodb 数据内容读写次数、数据页面创建/读写次数、数据行操作次数(增删改查语句分布) 参考资料: http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/MysqlTool http://hackmysql.com/mysqlreport 监控工具――Mysqlslamysqlreport可以协助我们了解MySQL的健康状况以及MySQL大部份时间在处理什么类型的Query,但我们在调查慢查询时,想知道MySQL 实际上到底是把 CPU 运算时间花在哪些 Query 上?这个问题必须从MySQL的Log才可知。 Mysqlsla的数据来源为mysql提供的三类log:Binary Log、General Log和Slow Log。 对于慢sql统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数。提供结果格式如下: 项目 说明 Count sql的执行次数及占总的slow log数量的百分比 Time 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比 95% of Time 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间. Lock Time 等待锁的时间 95% of Lock 95%的慢sql等待锁时间 Rows sent 结果行统计数量, 包括平均, 最小, 最大数量 Rows examined 扫描的行数量 Database 属于哪个数据库 Users 哪个用户,IP, 占到所有用户执行的sql百分比 Query abstract 抽象后的sql语句 Query sample sql语句 参考资料:http://hackmysql.com/mysqlsla 监控工具――innotopinnotop是一个针对innodb引擎的监控工具。 与上诉的几个工具不同,这是一个类似于top的工具,能够实时显示innodb的各种参数变化。 更强悍的是,能够在执行过程中能够查看各个线程的执行状态、查看死锁信息; 能够通过输入命令行参数,选取不同的模式,查看线程内部信息 参考资料:http://code.google.com/p/innotop/ http://wiki.babel.baidu.com/twiki/bin/view/Com/Ns/MysqlTool 监控工具――Mysql-monMysql-mon是百科开发的,内部应用的监控工具。采用C语言开发,对数据库负载几乎为0。可用于 : 数据库系统状态监控\分源连接数监控\数据量、索引量监控\字段范围监控数据库同步监控 参考资料:http://wiki.babel.baidu.com/twiki/bin/view/Com/Main/Mysql-mon 表压缩工具――myisampackMyisampack是一个表压缩工具,可以使用很高的压缩率来对MyIsam存储引擎的表进行压缩,使得压缩后的表占用比压缩前小得多的磁盘空间。但是压缩后的表也将称为一个只读表,不能进行DML操作。 参考资料: http://dev.mysql.com/doc/refman/5.0/en/myisampack.html 管理工具――mysqlamdinMysqladmin是一个执行管理操作的客户端程序。可以用来检查服务器的配置和当前的状态,创建并删除数据库等。 参考资料: http://dev.mysql.com/doc/refman/5.1/en/mysqladmin.html 日志管理工具――mysqlbinlog由于服务器生成的日志文件以二进制格式保存,所以如果要想检查这些文件的文本格式,就会用到mysqlbinlog日志管理工具。 参考资料:http://dev.mysql.com/doc/refman/6.0/en/mysqlbinlog.html 表维护工具――mysqlcheckMysqlcheck客户端工具可以检查和修复myisam表,还可以优化和分析表。实际上,它继承了mysql工具中check、repair、analyze、optimize的功能。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/mysqlcheck.html 数据导出工具――mysqldumpMysqldump客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表或装载表的sql语句。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html 数据导入工具――mysqlimportMysqlimport是客户端导入工具,用于导入mysqldump加-T选项后导出的文本文件。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html 表热备份工具――mysqlhotcopyMysqlhotcopy是一个perl脚本,它使用lock tables、flush tables、cp或scp来快速备份数据库。仅限于在linux/unix下热备份myisam数据表。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/mysqlhotcopy.html 数据库对象查看工具――mysqlshowMysqlshow是客户端对象查看工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或索引。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/mysqlshow.html 错误代码查看工具――perror在mysql使用过程中,可能会出现各种各样的error,这些error有些是由于操作系统引起的,有些是由于存储引擎使用不当引起的。这些error都有一个整型的错误代码。Perror的作用是解释这些错误代码的详细含义。 参考资料:http://dev.mysql.com/doc/refman/5.0/en/perror.html 文本替换工具――replaceReplace是mysql自带的一个对文件中的字符串进行替换的工具,类似于linux下的sed,不过他的使用更加简单灵活。 参考资料:http://dev.mysql.com/doc/refman/5.1/en/replace-utility.html 以上工具列表参考于com wiki和《深入浅出mysql》 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com