前言:
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展, MySQL 相關生態(tài)也越來越完善,越來越多的工具涌現(xiàn)出來。一些公司或個人紛紛開源出一些不錯的工具,本篇文章主要介紹幾款 MySQL 相關實用工具。提醒下,這里并不介紹 Navicat 等這類圖形化操作工具哦。
1. SQL 審核 web 工具
SQL 審核與執(zhí)行,可能是各個公司或團隊比較困擾的事情。若沒有平臺工具支持,只能通過人工的方式來處理,效率低且質(zhì)量沒辦法保證。為了規(guī)范操作,提高效率,大多數(shù)團隊可能會自己開發(fā)或引入開源工具。這里介紹兩款開源免費的 web 端 SQL 審核平臺。
Yearning
項目地址:github.com/cookieY/Yea…
項目簡介:guide.yearning.io/
Yearning 是一款可滿足大部分公司 SQL 審核需求的 web 端可視化 SQL 審核平臺。在實現(xiàn)常規(guī)的 sql 審核功能外還添加了諸如數(shù)據(jù)查詢等一系列便捷的功能。
主要功能:
- 自動化SQL語句審核,可對SQL進行自動檢測并執(zhí)行。
- DDL/DML語句執(zhí)行后自動生成回滾語句。
- 審核/查詢 審計功能。
- 支持LDAP登錄/釘釘及郵件消息推送。
- 支持自定義審核工作流。
- 支持細粒度權限分配。
優(yōu)點:
- 顏值高,使用流暢。
- 部分審核規(guī)則可自定義。
- 部署簡單,依賴項少。
- 功能豐富,既能審核執(zhí)行SQL又能查詢。
- 作者在持續(xù)維護,有社區(qū)支持。
Archery
項目地址:https://github.com/hhyo/Archery
使用文檔:https://archerydms.com/
Archery 定位于 SQL 審核查詢平臺,旨在提升 DBA 的工作效率,支持多數(shù)據(jù)庫的 SQL 上線和查詢,同時支持豐富的 MySQL 運維功能,所有功能都兼容手機端操作。
主要功能:
- 集成 SQL 查詢、審核、執(zhí)行、備份。
- 權限區(qū)分明確,審核執(zhí)行分離。
- SQL 工單自動審批、高危語句駁回。
- 快速上線其他實例。
- 慢日志管理、SQL 優(yōu)化等運維功能。
- 支持會話管理及參數(shù)配置。
- 可集成其他工具插件。
優(yōu)點:
- 除 MySQL 外,還支持多種主流數(shù)據(jù)庫。
- 功能更加豐富,真正做到一平臺多用。
- 具備 SQL 優(yōu)化、慢日志管理等運維功能,對 DBA 更加友好。
- 基于 Python 及 Django,利于二次開發(fā)改造。
- 對于 Yearning 和 Archery ,兩者各有優(yōu)缺點吧,都是優(yōu)秀的開源工具。Yearning 只適用于 MySQL ,部署簡單,功能清晰明了,上手容易。Archery 支持多種數(shù)據(jù)庫,部署稍微復雜些,功能更加豐富,支持諸多高級運維功能。沒有哪個更好,只有哪個更合適。
2. binlog 解析工具
前面文章也介紹過 binlog 解析相關內(nèi)容及工具。利用 binlog 解析工具我們可以清楚看到數(shù)據(jù)庫執(zhí)行過的歷史內(nèi)容,并且可以得到反向內(nèi)容可用于回滾。binlog 解析工具在 GitHub 上可以搜索到許多,這里介紹下常用的以下兩款吧。
MyFlash
項目地址:https://github.com/Meituan-Dianping/MyFlash
MyFlash 是由美團點評公司技術工程部開發(fā)維護的一個回滾 DML 操作的工具。該工具通過解析 v4 版本的 binlog ,完成回滾操作。相對已有的回滾工具,其增加了更多的過濾選項,讓回滾更加容易。
主要功能:
- 解析 binlog ,回滾各類 DML 語句。
- 提供原生的基于庫、表、SQL類型、位置、時間等多種過濾方式。
- 支持 MySQL 多個版本,支持 GTID 格式。
binlog2sql
項目地址:https://github.com/danfengcao/binlog2sql
binlog2sql 同樣是開源的一款用于解析 binlog 的工具。安裝簡單方便,基于 Python 開發(fā),源碼入門簡單。
主要功能:
- 可以解析出原始 SQL 、回滾 SQL 、去除主鍵的 INSERT SQL 等。
- 數(shù)據(jù)快速回滾(閃回)。
- 主從切換后新 master 丟數(shù)據(jù)的修復。
3. Percona Toolkit 工具包
官網(wǎng)地址:https://www.percona.com/doc/percona-toolkit/3.0/index.html#
Percona Toolkit 工具包是一組高級的管理 MySQL 的工具包集,可以用來執(zhí)行各種通過手工執(zhí)行非常復雜和麻煩的系統(tǒng)任務。簡稱 PT 工具,由 Percona 公司開發(fā)維護,是廣大數(shù)據(jù)庫維護人員的好幫手。
PT 工具包由各種小工具組成,不同工具有著不同的作用。主要功能包括檢查主從復制的數(shù)據(jù)一致性、檢查重復索引、歸檔數(shù)據(jù)、在線DDL等。下面簡單介紹下幾款常用工具的功能:
- pt-archiver:主要用于清理、歸檔歷史數(shù)據(jù)。
- pt-duplicate-key-checker:列出并刪除重復的索引和外鍵。
- pt-kill:殺掉符合條件的數(shù)據(jù)庫連接。
- pt-online-schema-change:在線修改表結(jié)構,常用于大表 DDL 。
- pt-query-digest:分析 MySQL 日志,并產(chǎn)生報告,常用于慢日志分析。
- pt-table-checksum:校驗主從復制一致性。
總結(jié):
本篇文章簡單介紹了 SQL 審核、binlog 解析、Percona Toolkit 幾類工具,關于各個工具的使用方法,還需各位詳細探索。感興趣的同學可以安裝學習下,好的工具能讓工作事半功倍。
以上就是推薦幾款MySQL相關工具的詳細內(nèi)容,更多關于MySQL 相關工具的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- Mysql臟頁flush及收縮表空間原理解析
- 淺析MySQL的lru鏈表
- MySQL的查詢緩存和Buffer Pool
- 淺析MySQL的基數(shù)統(tǒng)計
- mysql 遞歸查找菜單節(jié)點的所有子節(jié)點的方法
- MySQL的表空間是什么
- MySQL慢查詢?nèi)绾味ㄎ辉斀?/li>
- MySQL的Flush-List和臟頁的落盤機制