MySQL 开源工具集合
点击上方"蓝字"
关注我们,享更多干货!
上次聊到MySQL官方运维工具。这次再了解下常用的开源工具。
目前已收集的并在实际环境中使用过的开源工具如下:
可以说掌握了这些工具(原理和使用技巧),MySQL的日常运维就更简单。
备注:介绍中图片部分是开源社区的,部分是自己按照思路画的,画图有助于理解。
在线DDL变更
pt-osc&gh-ost都是在线变更ddl的工具。
pt-osc在于触发器原理
gh-ost不依赖于触发器,通过模拟从库,在binlog中获取增量变更,再异步应用到ghost表
备注:最终都会有RENAME表名的动作。
备份恢复工具
xtrabackup 二进制在线热备份工具,支持增量备份。目前物理备份中唯一的选择。全量方面,其实mysql8.0 clone也算是不错的选择。(高版本innobackupex已废弃)
mydumper是多线逻辑备份工具,一些自研产品常用的工具,myloader是sql语句导入工具 ,同一个软件包,跟mydumper结合使用。
压测工具
TPCC测试模拟了一个比较复杂的 OLTP应用环境,是一个在线零售公司。此公司对10万种商品进行销售,业务模型:批发零售系统,订单处理下的数据库的表现。
sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。单语句INSERT,SELECT,UPDATE下的数据库的表现。
区别在于TPCC测试的业务流程,sysbench测试的单语句执行性能。按照自需选择测试工具。
闪回工具
有时会误删或者误更新数据,binlog格式必须为row,且binlog_row_image=full,并且保留下来的情况下。可以分析binlog回转SQL语句进行恢复。就是delete→insert ,insert→delete,update→update方式按照时间顺序倒序回放。常用的工具有binlog2sql和MyFlash。
大众点评 binlog2sql:
数据库服务必须在线状态
开发语言Python 2.7, 3.4+
仅支持 MySQL 5.6, 5.7
https://github.com/danfengcao/binlog2sql
美团点评 MyFlash:
仅支持MySQL 5.6与5.7
只能回滚DML(增、删、改)
开发语言c,mysqlbinlog工具配合sed、awk
离线解析
https://github.com/Meituan-Dianping/MyFlash
MyFlash做的性能对比:
binlog2sql是要分析数据库运行中的一些状态 和 BINLOG_DUMP协议获取binlog内容
mysqlbinlog是因为要把binlog解析的不是标准的SQL语句
MyFlash是直接生成标准sql语句,效率上更高
慢日志分析
pt-query-digest是 Percona-Toolkit 的组件之一,非常不错的日志分析工具,优于mysqldumpslow,可以从普通日志、慢查询日志、二进制日志以及show processlist和tcpdump中对SQL进行分析。
主从一致性验证
pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测MySQL主、从库的数据是否一致。其原理是在主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库执行,并在从库上计算相同数据块的checksum,最后,比较主从库上相同数据块的checksum值,由此判断主从数据是否一致。recursion-method 方式选择host方式。
其他
undrop-for-innodb分析ibd文件进行数据恢复工作。当误删除数据、无备份,且确保本地ibd文件没有写入,数据能恢复。但中文解析可能失败需注意。
innodb_rub
innodb_ruby 主要可查看innodb数据库数据表的各种存储,解析innodb的文件,用于学习数据库底层的一些存储。
备注:这里可以结合官方innnchecksum,分析MySQL8.0的ibd文件结构,便于做个类似的工具
SQL审核web工具
基于Python 及 Django,利于二次开发改造,有开发能力,可以参考。主要是依赖于pt-toolkit进行整合开发的。
Yearning
自动化SQL语句审核,可对SQL进行自动检测并执行。DDL/DML语句执行后自动生成回滚语句。前身是Inception。
https://github.com/cookieY/YearningArchery
集成SQL查询、审核、执行、备份、慢日志管理等功能。
https://github.com/hhyo/Archery
客户端图形化管理工具
主要解决数据库管理员、程序开发者提供可视化的SQL开发、数据操作、以及数据库管理功能,易学易用。特别是数据导入导出功能和二进制数据转化图片方面,比较方便。但对于DBA来说是一个潜在的风险,长时间使用这些工具,命令行易忘记。
从上到下推荐:
Navicat
SQLyog
HeidiSQL:采用 Delphi 开发,支持 Windows 操作系统。支持 MySQL、MariaDB、Percona Server 和微软的 SQL Server
MySQL Workbench 官方管理重量级工具
PhpMyAdmin 安装部署比较麻烦,早起使用的多
总结
对于MySQL5.7版本这些工具目前支持的都非常友好,但8.0版本目前很多工具不兼容。
工具就是替代一部分功能,提高效率的。MySQL运维中提高工作效率,就需要引入这些工具,也需要使用得当,理解并熟悉用法,才是运维之道。
墨天轮原文链接:https://www.modb.pro/db/77114(复制到浏览器或者点击“阅读原文”立即查看)
关于作者
崔虎龙,云和恩墨MySQL技术顾问,长期服务于金融、游戏、物流等行业的数据中心,设计数据存储架构,并熟悉数据中心运营管理的流程及规范,自动化运维等。擅长MySQL、Redis、MongoDB数据库高可用设计和运维故障处理、备份恢复、升级迁移、性能优化。自学通过了MySQL OCP 5.6和MySQL OCP 5.7认证。2年多开发经验,10年数据库运维工作经验,其中专职做MySQL工作8年;曾经担任过项目经理、数据库经理、数据仓库架构师、MySQL技术专家、DBA等职务;涉及行业:金融(银行、理财)、物流、游戏、医疗、重工业等。
本文作者将于7月1日进行直播,在线分享MySQL常用运维工具的多个小妙招!扫码立即预约!
END
推荐阅读:267页!2020年度数据库技术年刊
推荐下载:2020数据技术嘉年华PPT下载
2020数据技术嘉年华近50个PPT下载、视频回放已上传墨天轮平台,可在“数据和云”公众号回复关键词“2020DTC”获得!
你知道吗?我们的视频号里已经发布了很多精彩的内容,快去看看吧!↓↓↓
点击下图查看更多 ↓
云和恩墨大讲堂 | 一个分享交流的地方
长按,识别二维码,加入万人交流社群
请备注:云和恩墨大讲堂
点个“在看”
你的喜欢会被看到❤
MySQL 开源工具集合相关推荐
- MySQL开源工具推荐,有了它我卸了珍藏多年Nactive!
作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 最近无意间发现了一款开源免费的 MySQL 客户端管理工具,磊哥试用了两天感觉还行 ...
- 关于MS Access替代方案 低代码神器 nuBuilder Forte:基于PHP和MySQL开源工具
很久很久以前用MS Access 写了几个程序,一直想把它们换掉,但始终没有找到一个工作量适度的工具,近来有点时间于是在网上查询,终于有了新发现nuBuilder Forte,这是需要服务器和PHP的 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Android开源工具项目集合
最近因为要去外派了,工欲善其事,必先利其器!所以又回顾了一下自己github上所收藏的项目,也算是温故而知新吧. 最流行的Android组件大全 http://www.open-open.com/l ...
- 简易的监控mysql_使用开源工具mysqlreport监控Mysql数据库-简易使用方法
使用开源工具mysqlreport监控Mysql数据库 Mysql的监控工具有很多种,包括图形,shell的都有,比如常见的有:Spotlight on Mysql.Mysql adminitrati ...
- Mysql开源免费管理工具
推荐Mysql开源免费管理工具 学习Mysql的时候看到推荐用Navicat或者sqlyog来管理数据库,但是这些是要收费的,我相信很多学习的朋友和我一样,不太喜欢用破解版,又不想在学习的时候买正版( ...
- php图形开发工具,dba 开源工具:面向开发的MySQL图形可视化监控
工具研发者介绍 贺春旸,凡普金科DBA团队负责人,<MySQL管理之道:性能调优.高可用与监控>第一.二版作者,曾任职于中国移动飞信.安卓机锋网.致力于MariaDB.MongoDB等开源 ...
- [Android]Android开源工具项目集合20160523
最流行的Android组件大全 http://www.open-open.com/lib/view/open1409108030307.html Android开源项目分类汇总 http://ww ...
- 开源web漏洞扫描工具集合
*参考来源:geekflare,FB小编柚子编译,转载请注明来自FreeBuf.COM 赛门铁克2017年互联网安全威胁报告中提出在他们今年扫描的网站中,有76%都含有恶意软件.如果你在用WordPr ...
最新文章
- Bitcoin.com| 比特币现金2019·年度回顾
- 用JScript.net写.net应用程序
- linux中sort不对的问题
- 前端学习(982):jquery概述
- mysql exp 注入_使用exp进行SQL报错注入
- [UIKit学习]03.关于UILable
- php usort的用法,PHP usort()用法及代码示例
- java路径不存在则创建文件夹_java实现文件夹不存在则创建
- 浏览器href自动解析uri(执行urldecode)
- no phone android,NoPhoneSpam | F-Droid - Free and Open Source Android App Repository
- redis下载安装教程(详细步骤)
- 【场景化解决方案】OA审批与用友U9数据集成
- Struts2通配符
- From.List用法详解
- Mysql SSL 2206错误
- eval函数和repr函数
- 有用的“歪门邪道”-设计模式
- 分子动力学基本概念(持续更新)
- 用计算机升级ipad系统软件,ipad2版本太低,设置里又没办法升级,咋自己升级ios系统...
- Python案例之QQ空间自动登录程序实现
热门文章
- bash 命令提示符_命令行上每天的Bash提示
- 莫桑比克wcdma频段_开放医疗记录社区支持莫桑比克的新系统
- 开源飞控爱好者_开源爱好者的10种节日礼物创意
- 理解node.js(Understanding node.js)
- html asterisk 电话,Asterisk 常见问题
- 修改php.ini没效果,修改php.ini后没有效果
- blob数据类型_MySQL 8.0 基本操作步骤:3.字段和数据类型的选择
- aix查看oracle进程内存,Aix 查看进程占用内存大小(按从大小排列)
- qq代理服务器哪里获取_哪里可以下载小学英语课件?这3个渠道,英语老师得赶快收藏...
- elasticsearch head插件(5.0及以上版本)