集美阅读大全是一个以文章句子为主题的在线阅读网站。内含有各种经典好文章,爱情美文,诗歌散文,情感句子说说,范文资料等。读好文章,尽在集美阅读大全!!!
当前位置:集美阅读大全 >互联网 >建站 > 正文

MySQL常用工具选择和建议

2019-08-18 20:52常用工具 建议 选择 MySQL

有句话说,工欲善其事,必先利其器,在MySQL方向尤其如此。技术规划的时候,会发现有一些事情需要前置,比如说MySQL里面的工具,如果等到实际碰到了各色的问题再来统一,就比较难了。有沟通成本,人力成本,技术沉淀和持续交付等等的成本,这些最好提前和团队有一个基本的沟通,达成一个共识。内部统一了以后,和开发同学规范统一就有了一个基线。

访问:SQL必知必会

MySQL常用工具选择和建议

大体来说,我考虑了以下几个方面的工具:

  • 运维管理工具
  • 数据备份恢复工具
  • 数据库优化工具
  • 客户端工具
  • 性能测试工具
  • 数据库版本管理工具
  • 数据库审计工具

 

1. 运维管理工具

要说MySQL运维工具,当仁不让Percona-toolkit,它应该是我们学习MySQL需要熟练使用的一个运维工具。

Percona-tooolkit通常简称为pt工具,pt工具其实是工具Maatkit 和Aspersa的组合,它们都出自同一个作者:Baron Schwartz;其中,Maatkit工具更偏重于数据库层面,最开始就是Perl的基因。而Aspersa的范畴更倾向于系统层面,比如磁盘信息等。

在2017年开始进入了3.0时代,所以线上使用的版本几乎都是2.2(自2013年),距今已经跨越了好几个年头。 pt工具被Percona收至麾下,有专门的项目维护。

 

2. 数据备份恢复工具

在数据备份和恢复方面,主要依据是逻辑备份和物理备份,行业里主要有以下的一些备份工具:

(1) mysqldump,MySQL最经典的逻辑备份工具,也是MySQL工具集里默认的工具,适用于一些数据量不大的数据备份工作。值得一提的是Facebook的生产环境都是使用mysqldump进行逻辑备份。

(2) mysqlpump ,MySQL新版本推出的备份工具,但是效果没有想象的那么好,最大的一个痛点应该就是备份的IO问题还是没法大幅度扩展,因为都在最后备份出来的那个文件上,没有拆分。

(3) mydumper,这个工具还算比价流行,能够对原来的mysqldump做一个很好的补充。腾讯云就是定制了mydumper来做为默认的备份工具.

另外和Mydumper配套的工具是myloader,作为数据的批量导入工具。

(4) Xtrabackup,来自Percona的工具,擅长做物理备份,而且更倾向于是全备+增备结合的方式。

 

3 数据库优化工具

(1)innotop

这是一款用Perl所写的MySQL监控工具,可以命令行模式调用展示MySQL服务器和InnoDB的运行状况,下载地址为:https://github.com/innotop/innotop

目前Github上提供了两种版本,一种是开发版(innotop-master),一种是稳定版(innotop-gtid),推荐使用稳定版,使用截图如下:

(2)orzdba

orzdba是淘宝DBA团队开发出来的一个Perl监控脚本,可以监控mysql数据库,也有一些磁盘和cpu的监控。使用截图如下:

MySQL常用工具选择和建议

(3)mytop

这是一款类似 Linux 下的 top 命令风格的 MySQL 监控工具,可以监控当前的连接 用户和正在执行的命令。

(4)orztop

这是一款可以查看MySQL数据库实时运行的SQL状况的工具,如果你习惯于用show processlist/show full processlist抓取SQL,这款工具就是一个很好的补充。

MySQL常用工具选择和建议

(5)systemtap,是Linux下的动态跟踪工具,可以监控、跟踪运行中的程序或Linux内核操作,它带来的性能损耗很小,在一些特定的场景下可以编写SystemTap脚本来调试一些性能问题。

 

4 操作系统监控

(1) nmon,(Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具,在系统数据采集方面使用广泛。

历史数据

(2) Mpstat ,Multiprocessor Statistics的缩写,是实时监控工具,mpstat最大的特点是:可以查看多核心的cpu中每个CPU的统计数据。

 

5 慢日志分析工具

(1)mysqldumpslow

这是MySQL产品包中的一个原生命令工具,它可以支持慢查询的统计分析,对MySQL查询语句的监控、分析、优化是MySQL优化是一个开始,相对来说,功能支持比较少。

(2)pt-query-digest

经典的慢日志分析工具,属于pt工具的一个子集。它基于Perl开发,与mysqldumpshow工具相比,py-query_digest 工具的分析结果更具体,更完善。

(3)mysqlsla

该工具是是daniel-nichter 用Perl 写的一个脚本,mysqlsla与pt-query-digest的作者是同一个人,现在是主打pt系列工具,现在已经不再维护了。

(4)Anemometer

一个图形化显示从MySQL慢日志的开源项目,基于php开发,充分结合了pt-query-digest,Anemometer可以很轻松的去分析慢查询日志,找到哪些SQL需要优化。

 

6 客户端工具

(1)SQLyog

SQLyog 是一个快速而简洁的图形化管理MySQL数据库的工具,由业界著名的Webyog公司出品,属于付费产品。

(2)Navicat

是一套快速、可靠并价格适当的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设计,它的设计符合数据库管理员、开发人员及中小企业的需要,属于付费产品。

(3)MySQL Workbench

为MySQL设计的ER/数据库建模工具,可以支持数据库管理,数据迁移,数据建模等功能,它同时有开源和商业化的两个版本。

(4)SQL developer

这个工具是Oracle推出的一款免费的数据库管理工具,它主要支持Oracle,如果需要支持MySQL,需要额外下载一个驱动包即可使用。

 

7 性能监控工具

(1)Zabbix,一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,集监控报警于一身的强大功能,在互联网行业使用比例很高。

(2)Lepus

天兔是国内的一位DBA开发的一款开源的,基于php开发的数据库监控管理系统,可以对数据库的实时健康和各种性能指标进行全方位的监控,它本身可以支持MySQL、Oracle、MongoDB、Redis数据库的监控,在慢日志的功能设计方面很有亮点。

(3)mysql-statsd,一个收集 MySQL 信息的 Python 守护进程。并通过 StatsD 发送到 Graphite

 

8 性能测试工具

业务上线,环境初始化需要做烤机测试。主要就是让服务器先吃点苦头,看能不能经受住考验。在一定的测试之后,我们可以得到压测的数据结果,作为后续上线的基准参考。

行业里主要的性能测试工具有以下几类:

(1) Sysbench,是一款主流的性能测试工具,本身是开源的,具备多线程压测能力,覆盖硬件和软件层面,产品隶属于Percona

(2) tpcc-mysql,是Percona按照TPC-C开发的产品,主要用于MySQL的压测工具

(3) Mydbtest,该工具是有知名数据库专家楼方鑫先生开发,免安装,上手快,可以针对业务做定制化压测。

(4) mysqlslap,mysql自带的基准测试工具,自5.1.4版开始推出,可以通过模拟多个并发客户端访问MySQL来执行压力测试。

 

9、数据库版本管理工具

liquibase,一个数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,目前日志文件支持多种格式,如XML, YAML, JSON, SQL等。

 

10、MySQL审计

数据库审计是数据安全方面的一个重要参考,一个数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,是借助于审核工具希望能够感知的。

目前在MySQL审计方向主要存在以下几类审计插件:

(1) 官方的商业版插件

(2) Percona Audit Log插件

(3) MariaDB 插件

 

初步结论:

(1) 运维管理工具主要考虑Percona-toolkit,作为默认的初始化软件使用

(2) 数据备份恢复工具目前还是已现有的备份恢复体系为主,采用xtrabackup和mysqldump结合的方式。

  • xtrabackup通过物理备份,每日全备,保留7天备份集,版本建议为2.4.8
  • mysqldump备份数据字典库,比如mysql,每日全备,保留7天备份集。

在这个基础上在每个机房再申请一台binlog备份机,通过xtrabackup每日全备,binlog备份,保留3天,达到基本的数据恢复需求。

注: mydumper和myloader的适用场景也比较广,可以作为一些备份恢复方案或者迁移的的改进。

(3) MySQL实时状态分析工具使用orzdba和orztop,其中orzdba的内容可以通过自行定制mysqladmin来满足需求,orztop可以作为环境初始化的软件。

(4) 操作系统监控工具使用nmon收集历史数据,mpstat得到实时的系统监控数据,需要向系统部提需求定制。

(5) 慢日志分析工具使用pt-query-digest,需要调研从Lepus中抽取出慢日志的逻辑单独调用。日志系统的部分需要和驰骋进一步沟通。

(6) 客户端工具使用workbench,推荐开发同学使用workbench,需要内部整理出操作文档

(7) 性能测试工具主要使用sysbench在业务上线,环境初始化中做拷机测试,压测硬件(IO,CPU,MEM)等,压测MySQL,历时至少一周。在这个基础上使用tpcc-mysql,mydbtest做辅助测试。主要目标是通过压测的部分得到一些关键的参考指标(IOPS,TPS,QPS)等。

(8) MySQL审计工具使用建议选定Percona的审计插件Audit Log和MariaDB的Server Audit,目前定位为DDL敏感,root用户敏感,根据后期的测试,MariaDB的Server Audit插件功能全面,优先选用。

80%的人都看过的文章

  • 数据库管理系统 MariaDB 10.3.13 发布
  • phpMyAdmin 4.8.5 发布,修复重要安全漏洞
  • 11月份数据库排名:Oracle、MySQL迎来寒冬
  • MySQL 8.0.14 稳定版发布
  • PHP网站在Linux服务器上安全配置加固防护方法
  • 备份MySQL数据库的8种方法
  • 数据库管理系统MariaDB 10.4 首个 GA 版本 10.4.6 发布
  • 数据库管理系统 MariaDB 10.3.12 发布

课后答案张九龄《望月怀远》阅读答案及全诗翻译赏析

望月怀远张九龄海上生明月,天涯共此时。情人怨遥夜,竟夕起相思。灭烛怜光满,披衣觉露滋。不堪盈手赠,还寝梦佳期。注释⑴怀远:怀念远方的亲人。⑵最前面两句:辽阔无边的大海上升起一轮明月,使人想起了远在天涯……
2023-11-22 04:53暂无评论阅读详情

课后答案王安石《次韵唐公三首其三旅思》阅读答案

次韵唐公三首其三旅思王安石此身南北老,愁见问征途。地大蟠三楚,天低入五湖。看云心共远,步月影同孤。慷慨秋风起,悲歌不为鲈②。注:①张壤,字唐公,北宋嘉佑六年契丹国母生辰使,王安石友人。②《晋书&mid……
2023-11-22 04:52暂无评论阅读详情

笔记心得各级干部学习执法为民心得体会

  “各级干部都要牢固树立全心全意为人民服务的思想和真心实意对人民负责的精神,做到心里装着群众,凡事想着群众,工作依靠群众,一切为了群众。要坚持权为民所用,情为民所系,利为民所谋,为群众诚……
2023-11-22 04:12暂无评论阅读详情

笔记心得寒假大学生社会实践心得体会

  自从走进了大学,就业问题就似乎总是围绕在我们的身边,成了说不完的话题。在现今社会,招聘会上的大字报都总写着“有经验者优先”,可还在校园里面的我们这班学子社会经验又会拥有多少……
2023-11-22 04:08暂无评论阅读详情

协议书济南市某美容院转让协议第2篇

  __________美容院根据中华人民共和国国务院劳动法规和________市私营企业劳动管理实施办法,结合本美容院经营的具体所需今制订此劳动合同书。  双……
2023-11-22 02:36暂无评论阅读详情

剧本劳模宣传短剧剧本《阿咪也想当劳模》

  1、机械厂门卫处,日,外。  清早,机械厂班长李玉伟开着别克赛欧小汽车驶进厂区,门卫室内的保安一边按开电动门,一边朝李玉伟摆手。  李玉伟:(摇下车窗,笑着打招呼)小秦,早。  保安小秦:(笑着)……
2023-11-22 02:11暂无评论阅读详情

教程灰雀说课稿

灰雀说课稿  灰雀说课稿(一):  《灰雀》说课稿  一、说教材  《灰雀》是义务教育课程标准实验教科书,小学语文第五册第二单元的一篇讲读课文。这篇课文记叙了列宁在莫斯科郊外养病期间爱护灰雀的故事。列……
2023-11-22 00:41暂无评论阅读详情

课件“吴隐之字处默,濮阳鄄城人”阅读答案及原文

吴隐之字处默,濮阳鄄城人。美姿容,善谈论,博涉文史,以儒雅标名。弱冠而介立,有清操,虽儋石无储,不取非其道。事母孝谨,及其执丧,哀毁过礼。与太常韩康伯邻居,康伯母,贤明妇人也,每闻隐之哭声,辍餐投箸,……
2023-11-22 00:38暂无评论阅读详情

标签