MySQL管理员必备的十大工具盘点

发表于:2011-9-06 11:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:乐观天下 译    来源:51Testing软件测试网采编

  本文的作者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/

  MySQL必备工具第二位: mydumper

  能够快速生成数据转储在服务器及备份信息克隆工作中至关重要。遗憾的是,MySQL自身包含的mysqldump组件只支持单线程工作,这就使得它无法迅速解决数据密集型用户所面临的实际问题。不过好消息还是有的,mydumper作为新生代实用工具,能够良好支持多线程工作,这使得它在处理速度方面十倍于传统的mysqldump。

  另一款知名的同类工具是MySQL Data Dumper,它的问题是无法单独管理备份集合、差异点或是一套完整备份计划中的其它组成部分。该工具只是单纯将MySQL中的数据以尽可能快的速度进行转储,这在完成限时任务方面倒是具备一定价值,例如趁员工没有在线操作的时段抓紧时间进行备份。另外,如果大家在实际使用中需要异常频繁地执行备份,那么 MySQL Data Dumper是比较理想的选择。

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号