共计 2131 个字符,预计需要花费 6 分钟才能阅读完成。
前言:
随着互联网技术的一直倒退,MySQL 相干生态也越来越欠缺,越来越多的工具涌现进去。一些公司或集体纷纷开源出一些不错的工具,本篇文章次要介绍几款 MySQL 相干实用工具。揭示下,这里并不介绍 Navicat 等这类图形化操作工具哦。
1. SQL 审核 web 工具
SQL 审核与执行,可能是各个公司或团队比拟困扰的事件。若没有平台工具反对,只能通过人工的形式来解决,效率低且品质没方法保障。为了标准操作,提高效率,大多数团队可能会本人开发或引入开源工具。这里介绍两款开源收费的 web 端 SQL 审核平台。
Yearning
我的项目地址:https://github.com/cookieY/Yearning
我的项目简介:https://guide.yearning.io/
Yearning 是一款可满足大部分公司 SQL 审核需要的 web 端可视化 SQL 审核平台。在实现惯例的 sql 审核性能外还增加了诸如数据查问等一系列便捷的性能。
次要性能:
- 自动化 SQL 语句审核,可对 SQL 进行自动检测并执行。
- DDL/DML 语句执行后主动生成回滚语句。
- 审核 / 查问 审计性能。
- 反对 LDAP 登录 / 钉钉及邮件音讯推送。
- 反对自定义审核工作流。
- 反对细粒度权限调配。
长处:
- 颜值高,应用晦涩。
- 局部审核规定可自定义。
- 部署简略,依赖项少。
- 功能丰富,既能审核执行 SQL 又能查问。
- 作者在继续保护,有社区反对。
Archery
我的项目地址:https://github.com/hhyo/Archery
应用文档:https://archerydms.com/
Archery 定位于 SQL 审核查问平台,旨在晋升 DBA 的工作效率,反对多数据库的 SQL 上线和查问,同时反对丰盛的 MySQL 运维性能,所有性能都兼容手机端操作。
次要性能:
- 集成 SQL 查问、审核、执行、备份。
- 权限辨别明确,审核执行拆散。
- SQL 工单主动审批、高危语句驳回。
- 疾速上线其余实例。
- 慢日志治理、SQL 优化等运维性能。
- 反对会话治理及参数配置。
- 可集成其余工具插件。
长处:
- 除 MySQL 外,还反对多种支流数据库。
- 性能更加丰盛,真正做到一平台多用。
- 具备 SQL 优化、慢日志治理等运维性能,对 DBA 更加敌对。
- 基于 Python 及 Django,利于二次开发革新。
对于 Yearning 和 Archery,两者各有优缺点吧,都是优良的开源工具。Yearning 只实用于 MySQL,部署简略,性能清晰明了,上手容易。Archery 反对多种数据库,部署略微简单些,性能更加丰盛,反对诸多高级运维性能。没有哪个更好,只有哪个更适合。
2. binlog 解析工具
后面文章也介绍过 binlog 解析相干内容及工具。利用 binlog 解析工具咱们能够分明看到数据库执行过的历史内容,并且能够失去反向内容可用于回滚。binlog 解析工具在 GitHub 上能够搜寻到许多,这里介绍下罕用的以下两款吧。
MyFlash
我的项目地址:https://github.com/Meituan-Dianping/MyFlash
MyFlash 是由美团点评公司技术工程部开发保护的一个回滚 DML 操作的工具。该工具通过解析 v4 版本的 binlog,实现回滚操作。绝对已有的回滚工具,其减少了更多的过滤选项,让回滚更加容易。
次要性能:
- 解析 binlog,回滚各类 DML 语句。
- 提供原生的基于库、表、SQL 类型、地位、工夫等多种过滤形式。
- 反对 MySQL 多个版本,反对 GTID 格局。
binlog2sql
我的项目地址:https://github.com/danfengcao/binlog2sql
binlog2sql 同样是开源的一款用于解析 binlog 的工具。安装简单不便,基于 Python 开发,源码入门简略。
次要性能:
- 能够解析出原始 SQL、回滚 SQL、去除主键的 INSERT SQL 等。
- 数据疾速回滚 (闪回)。
- 主从切换后新 master 丢数据的修复。
3. Percona Toolkit 工具包
官网地址:https://www.percona.com/doc/percona-toolkit/3.0/index.html#
Percona Toolkit 工具包是一组高级的治理 MySQL 的工具包集,能够用来执行各种通过手工执行非常复杂和麻烦的零碎工作。简称 PT 工具,由 Percona 公司开发保护,是宽广数据库保护人员的好帮手。
PT 工具包由各种小工具组成,不同工具有着不同的作用。次要性能包含查看主从复制的数据一致性、查看反复索引、归档数据、在线 DDL 等。上面简略介绍下几款常用工具的性能:
- pt-archiver:次要用于清理、归档历史数据。
- pt-duplicate-key-checker:列出并删除反复的索引和外键。
- pt-kill:杀掉符合条件的数据库连贯。
- pt-online-schema-change:在线批改表构造,罕用于大表 DDL。
- pt-query-digest:剖析 MySQL 日志,并产生报告,罕用于慢日志剖析。
- pt-table-checksum:校验主从复制一致性。
总结:
本篇文章简略介绍了 SQL 审核、binlog 解析、Percona Toolkit 几类工具,对于各个工具的应用办法,还需各位具体摸索。感兴趣的同学能够装置学习下,好的工具能让工作事倍功半。