推荐几款MySQL相关工具

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出来。一些公司或个人纷纷开源出一些不错的工具,本篇文章主要介绍几款 MySQL 相关实用工具。提醒下,这里并不介绍 Navicat 等这类图形化操作工具哦。

1. SQL 审核 web 工具


SQL 审核与执行,可能是各个公司或团队比较困扰的事情。若没有平台工具支持,只能通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,大多数团队可能会自己开发或引入开源工具。这里介绍两款开源免费的 web 端 SQL 审核平台。


Yearning


项目地址:https://github.com/cookieY/Yearning

项目简介:https://guide.yearning.io/


Yearning 是一款可满足大部分公司 SQL 审核需求的 web 端可视化 SQL 审核平台。在实现常规的 sql 审核功能外还添加了诸如数据查询等一系列便捷的功能。


image.png

image.png

image.png

dash_yearning.png


主要功能:


  • 自动化SQL语句审核,可对SQL进行自动检测并执行。
  • DDL/DML语句执行后自动生成回滚语句。
  • 审核/查询 审计功能。
  • 支持LDAP登录/钉钉及邮件消息推送。
  • 支持自定义审核工作流。
  • 支持细粒度权限分配。


优点:


  • 颜值高,使用流畅。
  • 部分审核规则可自定义。
  • 部署简单,依赖项少。
  • 功能丰富,既能审核执行SQL又能查询。
  • 作者在持续维护,有社区支持。


Archery


项目地址:https://github.com/hhyo/Archery

使用文档:https://archerydms.com/


Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多数据库的 SQL 上线和查询,同时支持丰富的 MySQL 运维功能,所有功能都兼容手机端操作。


image.png

image.png


image.png

dash_archery.png


主要功能:


  • 集成 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数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
36 0
|
2月前
|
关系型数据库 MySQL 数据库
rds迁移数据迁移工具选择
rds迁移数据迁移工具选择
125 3
|
2月前
|
SQL 关系型数据库 MySQL
MySQL——MySQL的图形化界面工具安装与使用
MySQL——MySQL的图形化界面工具安装与使用
198 0
|
2月前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
179 1
|
19天前
|
SQL 关系型数据库 MySQL
MySQL数据库-概括与常用图形管理工具
MySQL数据库-概括与常用图形管理工具
|
26天前
|
SQL 关系型数据库 MySQL
mysqldiff - Golang 针对 MySQL 数据库表结构的差异 SQL 工具
Golang 针对 MySQL 数据库表结构的差异 SQL 工具。https://github.com/camry/mysqldiff
57 7
|
1月前
|
SQL 关系型数据库 MySQL
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
42 1
|
1月前
|
SQL 监控 关系型数据库
解密MySQL二进制日志:深度探究mysqlbinlog工具
解密MySQL二进制日志:深度探究mysqlbinlog工具
56 3
|
20天前
|
SQL 数据可视化 关系型数据库
MySQL命令行与可视化工具
MySQL命令行与可视化工具
|
23天前
|
SQL 存储 关系型数据库
AI代码提示工具可用于教学功能示例——MySQL
AI代码提示工具可用于教学功能示例——MySQL
22 0