推荐几款MySQL相关工具
作者:kun_jian 发布时间:2024-01-23 10:42:12
前言:
随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出来。一些公司或个人纷纷开源出一些不错的工具,本篇文章主要介绍几款 MySQL 相关实用工具。提醒下,这里并不介绍 Navicat 等这类图形化操作工具哦。
1. SQL 审核 web 工具
SQL 审核与执行,可能是各个公司或团队比较困扰的事情。若没有平台工具支持,只能通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,大多数团队可能会自己开发或引入开源工具。这里介绍两款开源免费的 web 端 SQL 审核平台。
Yearning
项目地址:github.com/cookieY/Yea…
项目简介: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 几类工具,关于各个工具的使用方法,还需各位详细探索。感兴趣的同学可以安装学习下,好的工具能让工作事半功倍。
来源:https://juejin.cn/post/6899306849686781959?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 字典dict1 = {'name':'han','age':18,'class
- 这篇文章主要介绍了Python变量作用域LEGB用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 1. 取键:keys()方法#spyderbb={'人才/可怕':23,'伏地魔&波特':'
- 作为一个.net后台开发的程序猿,博客里既然大多都是前端相关的博文。是不是该考虑换方向了,转前端开发得了 ...小小吐槽一下,近期受该不该跳
- 看着这个题目可能大家会有点陌生,不知道是什么,说的直白一点,RDFa就是让你的页面更好的被机器所理解,而不简简单单是展示你的页面,下面就关于
- 写接口case时,有时需要对cae做一些共性的操作,最典型的场景如:获取case执行时间、打印log等。有没有一种办法来集中处理共性操作从而
- 本文为大家分享了python实现图书馆研习室自动预约的具体代码,供大家参考,具体内容如下简介现在好多学校为学生提供了非常良好的学习环境,通常
- 目录python 语法简要介绍爬取网页解析网页储存网页python作为一种已经广泛传播且相对易学的解释型语言,现如今在各方面都有着广泛的应用
- 一、python logging日志模块简单封装项目根目录创建 utils/logUtil.pyimport loggingfrom log
- http请求介绍HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTT
- 1.启动H2数据库不打开浏览器窗口(默认是打开的) 2.数据库创建SQL增加了支持BigDecimal类型,h2数据库默认是不支持bigde
- 如何获取相邻数据因为项目,所以找到了一些资料并且总结了下关于获取相邻数据的方式。我只找到了以下的.../*获取id值与5相减绝对值最近的数据
- shutil --High-level file operations 高级的文件操作模块os模块提供了对目录或者文件的新建/删除/查看文件
- 今天打包selenium一个简单的请求,打完包本机运行exe没有问题,换台机器就闪退,非常蛋疼找了半天原因。下面简述下,防止踩坑,如果闪退十
- 页面重构需要考虑的一个重点是XHTML代码语义化,就算是在无任何CSS样式修饰的情况下也能给他人在阅读时带来便利,甚至可以夸张点说在搜索引擎
- 如何限制上传文件的大小?要限制上传大小,只需如下设置一个属性即可: &
- 我的工作内容可以说是五花八门,策划、文案、设计(包括平面设计、网站设计、VIS设计)、前端代码、交互、测试、摄影、项目管理等。所有这些工作最
- 最近在看廖老师的python教程,在看到关于文件的操作时,廖老师的其中一段关于查找电脑里的python文件,突然想把之前写的python代码
- 前言之前在使用包括大型文档(商汤科技、百度飞浆)代码的时候都一直使用 pip install -v -e . ,这一命令,但是一直不是很清楚
- 需求分析背景:1.数据列表页,滚动加载数据;2.多条数据情况下,点击某一条,进入详细页进行编辑(修改,删除)操作;3.保存返回上一页;在上面