前言:

随着互联网技术的不断发展, 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 几类工具,关于各个工具的使用方法,还需各位详细探索。感兴趣的同学可以安装学习下,好的工具能让工作事半功倍。

推荐几款MySQL相关工具的更多相关文章

  1. 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp

      这里给大家推荐一款在mac上搭建WEB服务器环境的集成环境安装软件,非常的好用,需要的朋友可以拿去,不用谢 ^_^   之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows ...

  2. 推荐25款很棒的 HTML5 开发框架和开发工具【上篇】

    HTML5 在不同的领域让网页设计更强大的.快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站 ...

  3. 墙裂推荐一波mysql学习资源

    在日常工作与学习中,无论是开发.运维.测试,还是架构师,数据库是一门必不可少的"必修课", 也是必备的涨薪神器.在互联网公司中,开源数据库用得比较多的当属 MySQL 了. 但my ...

  4. 推荐10款超级有趣的HTML5小游戏

    HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...

  5. 【转】推荐10款最热门jQuery UI框架

    推荐10款最热门jQuery UI框架 原创 在进行Web开发时,并非所有的库都适合你的项目,但你仍需要收藏一些Web UI设计相关的库或框架,以在你需要的时候,加快你的开发效率.本文为你推荐10款非 ...

  6. 推荐一款Mac上好用的Markdown编辑器

    [TOC] 推荐一款Mac上好用的Markdown编辑器 正文 我算是一位Evernote的重度用户吧.之前也尝试过为知笔记,有道云笔记,微软的onenote,最后还是觉的Evernote.因为我喜欢 ...

  7. 推荐几款我一直在用的chrome插件(上)

    我用的chrome插件挺多的,所谓工欲善其事必先利其器,我热衷于搜寻好用的工具来让我平时的工作事半功倍.下面介绍几款我正在用的感觉还不错的插件,如果大家还有其它好用的(肯定有,chrome插件库太庞大 ...

  8. 推荐几款我一直在用的chrome插件(下)

    请先看:推荐几款我一直在用的chrome插件(上) 6. Pocket 可以很方便的保存文章.视频等供以后查看,即实现了“Read it later”功能.有了 Pocket,您可以将所有想下次读的内 ...

  9. 墙裂推荐4款js网页烟花特效

    以下是几款网页特效和一款软件: http://keleyi.com/keleyi/phtml/jstexiao/1.htm  http://keleyi.com/keleyi/phtml/jstexi ...

随机推荐

  1. GoPath模式和GoMoudle模式的相爱相杀

    相信看我文章的文章的童鞋,golang版本已经是1.3版本以上.如果你的版本还停留在1.3以下,那这篇文章可以做为你的提升之法. go moudle的前世今生 前世-gopath gopath是什么 ...

  2. 【LeetCode】52. N-Queens II(位运算)

    [题意] 输出N皇后问题的解法个数. [题解] 解法一:传统dfs回溯,模拟Q放置的位置即可,应该不难,虽然能通过,但是时间复杂度很高. 解法二:位运算大法好! 首先要明白这道题里两个核心的位运算 1 ...

  3. 对象存储服务-Minio

    Mino 目录 Mino 对象存储服务 Minio 参考 Minio 架构 为什么要用 Minio 存储机制 纠删码 MinIO概念 部署 单机部署: Docker 部署Minio 分布式Minio ...

  4. UML第二部分和创建型模式

    状态机视图通过对每个类的对象的生命期进行建模 描述了对象时间上的动态行为 .状态指就某个特定类而言 对于发生的事件具有相同性质响应的一系列对象值.状态机不但可以描述类的行为 而且可以描述用例 协作和方 ...

  5. python基础之赋值运算

    之前的文章说明了变量的三大组成部分,详细说明了变量名与变量值,但是对于赋值这一块介绍相对较少,今天就来对这一部分进行补充,除了egon老湿所讲之外,本喵还参阅了<python3-cookbook ...

  6. Android Studio 之 RadioButton

    •任务 如何通过 RadioButton 实现如图所示的界面? •基本用法 RadioButton 单选按钮,就是只能够选中一个,所以我们需要把 RadioButton 放到 RadioGroup 按 ...

  7. Android Studio 报错:你的主机中的软件中止了一个已建立的连接

    •解决方案 关闭电脑的移动热点 关闭后,build 就不会报错了. 等 build 好了后,重新打开移动热点,再次 build 一就不会报错.

  8. 图文详解Java对象内存布局

    作为一名Java程序员,我们在日常工作中使用这款面向对象的编程语言时,做的最频繁的操作大概就是去创建一个个的对象了.对象的创建方式虽然有很多,可以通过new.反射.clone.反序列化等不同方式来创建 ...

  9. oCPC中转化率模型与校准

    翻看日历时间已经来到了2021年,也是共同战役的第二年,许久没有更新文章了,在与懒惰进行过几次斗争都失利之后,今天拿出打工人最后的倔强,终于收获了一场胜利.闲话不多说,今天咱们重点聊聊oCPC中转化率 ...

  10. go的令牌桶实现库 go-rate

    关于我 我的博客|文章首发 go-rate是速率限制器库,基于 Token Bucket(令牌桶)算法实现. go-rate被用在LangTrend的生产中 用于遵守GitHub API速率限制. 速 ...