这是学习笔记的第 1927 篇文章

有句话说,工欲善其事,必先利其器,在MySQL方向尤其如此。

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

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

l 运维管理工具

l 数据备份恢复工具

l 数据库优化工具

l 客户端工具

l 性能测试工具

l 数据库版本管理工具

l 数据库审计工具

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的监控。使用截图如下:

(3)mytop

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

(4)orztop

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

(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结合的方式。

l xtrabackup通过物理备份,每日全备,保留7天备份集,版本建议为2.4.8

l 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插件功能全面,优先选用。

cpu烤机工具_MySQL常用工具选择和建议相关推荐

  1. mysql事物日志工具_MySQL——常用工具和日志

    一.MySql中常用工具 1.1.mysql 该mysql不是指mysql服务,而是指mysql的客户端工具. 语法 : mysql [options] [database] 连接选项 参数 : -u ...

  2. Adobe Premiere基础-工具使用(选择工具,剃刀工具,等常用工具)(三)

    常用快捷键 波纹删除快捷设置 单删除一个视频后会留出一片空白区,那么我就需要右键然后波纹删除才能去掉,还有一种方式我们可以设置快捷键来处理 设置为x 快捷键 选择工具 切换选择工具的快捷键v 选择工具 ...

  3. sqlserver2008清除日志方法_MySQL常用工具、日志及读写分离

    MySQL常用工具.日志及读写分离 1.MySQL中常用工具 1.1 mysql 1.1.1连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 mys ...

  4. aes离线解密工具_CTF常用工具、网站、练习平台

    常用工具网站  CTFtools  比较全的工具下载网站,提供百度云链接  BUUCTF  比较全的工具下载网站,提供百度云链接  XSS 之旅  xss 攻击练习网站,闯关式设计,难度递增  too ...

  5. 观其关键字排名查询工具_seo常用工具统计

    网站优化常用工具有哪些? 一般站长都用利用这些工具,可以让你的优化更省时省力,所有工具,用相关的名称,在搜索引擎中均可以搜索得到,这里就不提供下载的链接了. 1. 分析工具 受欢迎的一款网站优化工具, ...

  6. mysql跟踪工具_Mysql 监视工具

    对于开发人员来说,最头大的莫过于 ,你本地没事,线上 错误日志一堆. 尤其是数据库通信那一层.SqlServer 有 sql profile 用来监视对应的server上的通信日志,参数 命令等信息. ...

  7. mysql备份工具_MySQL常用的备份方式与备份工具简介

    一.MySQL备份方式与备份类型 1.备份的必要性 再生产环境中,为了防止硬件故障.软件故障.自然灾害.误操作等各种原因导致的数据库数据丢失后能恢复到事故之前的状态,我们需要对数据库进行备份和恢复操作 ...

  8. mysql查询性能测试工具_MySQL性能测试工具MySQLslap使用实例详解

    原标题:MySQL性能测试工具MySQLslap使用实例详解 MySQLslap是MySQL(了解干货请戳:干货!超过500行的Mysql学习笔记)自带的基准测试工具,优点:查询数据,语法简单,灵活容 ...

  9. mysql 自动化运维工具_MySQL使用工具Inception实现自动化运维

    MySQL使用工具Inception实现自动化运维 发布时间:2020-05-27 17:11:14 来源:51CTO 阅读:180 作者:三月 下面一起来了解下MySQL使用工具Inception实 ...

最新文章

  1. 解压ubi文件_制作ubi文件系统
  2. linux按时间排序并查看发现,linux下扫描文件并按时间排序
  3. 七步从Angular.JS菜鸟到专家(2):Scopes
  4. App专项测试之弱网测试
  5. python有什么用-python有什么用(用处和用途)
  6. python 抓取百度音乐
  7. k2官方改版固件最新版本
  8. linux gnu编译器下载,GNU Compiler Collection(gcc编译器)下载_GNU Compiler Collection(gcc编译器)官方下载-太平洋下载中心...
  9. 2ask matlab仿真,2ask调制解调系统仿真实验程序
  10. 人工智能机器视觉技术应用有哪些?
  11. java零基础学习第九天
  12. 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
  13. 下一个时代的黑产攻防,可能没有人类什么事情了
  14. 【人工智能 AI 2.0】阿里VP贾扬清被曝将离职创业:建大模型基础设施 已火速锁定首轮融资
  15. Python入门习题----进制转换
  16. python怎么设置窗口大小_python – 如何找出所需的窗口大小?
  17. 机器学习的梯度下降中学习率的选取
  18. AES 和 SM4 S盒复合域实现方法
  19. Go 中 Gzip 与 json 搭配使用压缩数据,减少数据传输量
  20. WinNTSetup V5.3.0 Bata5 单文件版

热门文章

  1. 表贴电阻尺寸与什么有关_PCB板上为什么要“贴黄金”?
  2. 计算机指定共享用户,局域网内共享文件夹给指定计算机
  3. CRC32爆破解密脚本工具(三)
  4. python json字符串类型的value换行方案
  5. python的dir()和__dict__属性的区别
  6. Python可视化库Matplotlib绘图入门详解
  7. linux 汇编 gdb报错:Invalid register `eip‘(64位系统没有eip只有rip寄存器)
  8. python PyQt5中文教程☞【第十节】PyQt5绘图(绘制文本drawText()、画点drawPoints()、设置颜色、QPen(画笔)绘制线条、QBrush(笔刷)绘制纹理
  9. pycharm报黄提示(黄色高亮警告):non-default parameter follows default parameter(定义时将没有默认值的参数放到了有默认值参数的后面)
  10. python pycharm 增量选择 ctrl+w