【IT168 专稿】本文的作者Daniel Nichter是MySQL工具的开发者,他为MySQL管理员推荐了十款必备工具。以下是全文内容:
MySQL是一套需要大量辅助工具加以修复、诊断及优化的复杂系统。幸运的是,对于管理员来说,MySQL的高普及度吸引了大量软件开发商为其打造高品质的各类开源工具,内容涵盖MySQL系统的复杂性均衡、性能表现维持及稳定运行保障,而且其中大部分是免费工具。
下列十款开源工具对于使用MySQL的用户来说是极为宝贵的财富,其内容覆盖从单独实例到多节点环境的各类情况。该盘点比较用心,大家能够从中找到足以帮助自己备份MySQL数据、提高性能、防止基准偏差以及在出现问题时从记录中筛选关键性数据的各类工具。
比起亲自动手创建内部工具,使用此类工具有下列几项优势。首先,由于使用范围广,它们在系统成熟性及功能实践方面都要更胜一筹。其次,因为它们都是免费的开源工具,所以能够得到不断拓展的MySQL社区提供的知识及使用经验的加持。再有,这些开发人员在研发环节中态度严谨,很多工具还具备专业技术支持(无论是免费版还是商业版),因此能够持续得到完善进而保持对不断变化的新MySQL业界态势的适应性。
请记住,总有许多我们未曾留心的实用工具值得关注。我在推荐工具的选择中更为侧重于免费及开源特质,功能性及可用性标准则作为稍次之的标准。另外需要强调的是,这些工具中除了一款以外,其余全部属于Unix指令行程序,因为总体来说MySQL在Unix系统中的部署及开发工作更为常见。如果各位读者在我的推荐中没有找到自己偏爱的某款工具,希望能在文章下方的评论栏中留言,与大家共享你的心得。
闲言少叙,十大必备MySQL工具推荐就此开始。
MySQL必备工具第一位: mk-query-digest
没有什么比低下的MySQL性能表现更让人抓狂的了。尽管大家常常下意识地认为是硬件配置滞后导致此类问题,但事实上在大多数情况中真正的症结并不在这里。性能表现不佳往往由以下原因造成,即某些执行缓慢的查询阻塞了其它查询指令的顺畅进行,并由此产生了一个响应时间迟缓的恶性循环。由于优化查询指令比起升级硬件来说能够节约大量成本,因此合乎逻辑的优化方式应该从分析查询指令日志文件入手。
数据库管理员们应该经常分析查询日志,进而把握运行环境的各类波动。而如果大家从来没有进行过该项分析,请立即着手进行吧。如果对此缺乏经验,依靠第三方软件的帮助也是不错的选择;尽管很多人认为那些软件只会在瞎忙一气之后给出一个虚构的漂亮结果,但我得说,实际上它们通常情况下还是确切有效的。
在当前的诸多选择中,mk-query-digest是查询日志分析工具中最棒的一款。它由Baron Schwartz和我本人联合编写,功能成熟性、记录充分性以及测试彻底性都做得相当到位。MySQL本身包含了一款名为mysqldumpslow的查询日志分析器,但该工具不仅陈旧过时、验证规范不准确,而且缺乏广泛的实际应用加以支持。而其它几款较为著名的查询日志分析器,包括我前几年编写的mysqlsla,都与mysqldumpslow具备相同的缺点。
mk-query-digest能够分析查询日志内容并根据汇总得出的执行时间及其它各项指标的统计信息自动生成报告。由于查询日志中的信息量极为巨大,有时甚至包含数以百万计的条目,因此此类分析工作必须依靠特定工具来完成。
mk-query-digest可以帮助大家找出那些与其它查询指令相比耗时最长的条目。对这些低速查询加以优化将使整套MySQL体系的运行速度大幅提高,最大响应延迟也将相应下降。查询指令的优化工作本身堪称艺术,其中包含诸多细致入微的技巧,但整个流程的基本原则总是共通的:寻获低速查询指令、进行优化、提高查询响应时间。
该工具使用起来非常简便,执行mk-query-digest slow-query.log,那些运行速度迟缓的查询指令将被输出至slow-query.log文件。工具中还提供了“查询指令复核”功能,意在列出那些我们尚未加以核对或批准的查询指令。如此一来,我们就可以仅仅对那些新出现的查询指令进行有针对性的处理,繁琐枯燥的日志分析工作也随之变得更加快速、高效。
下载地址: http://maatkit.org/get/mk-query-digest
维护负责人: Daniel Nichter and Baron Schwartz
更多信息: http://maatkit.org/ | http://code.google.com/p/maatkit/