推薦幾款MySQL相關工具

前言:html

隨着互聯網技術的不斷髮展, MySQL 相關生態也愈來愈完善,愈來愈多的工具涌現出來。一些公司或我的紛紛開源出一些不錯的工具,本篇文章主要介紹幾款 MySQL 相關實用工具。提醒下,這裏並不介紹 Navicat 等這類圖形化操做工具哦。git

1. SQL 審覈 web 工具

SQL 審覈與執行,多是各個公司或團隊比較困擾的事情。若沒有平臺工具支持,只能經過人工的方式來處理,效率低且質量沒辦法保證。爲了規範操做,提升效率,大多數團隊可能會本身開發或引入開源工具。這裏介紹兩款開源免費的 web 端 SQL 審覈平臺。github

Yearningweb

項目地址: https://github.com/cookieY/Yearning
項目簡介: https://guide.yearning.io/

Yearning 是一款可知足大部分公司 SQL 審覈需求的 web 端可視化 SQL 審覈平臺。在實現常規的 sql 審覈功能外還添加了諸如數據查詢等一系列便捷的功能。sql

image.png
dash_yearning.png

主要功能:數據庫

  • 自動化SQL語句審覈,可對SQL進行自動檢測並執行。
  • DDL/DML語句執行後自動生成回滾語句。
  • 審覈/查詢 審計功能。
  • 支持LDAP登陸/釘釘及郵件消息推送。
  • 支持自定義審覈工做流。
  • 支持細粒度權限分配。

優勢:cookie

  • 顏值高,使用流暢。
  • 部分審覈規則可自定義。
  • 部署簡單,依賴項少。
  • 功能豐富,既能審覈執行SQL又能查詢。
  • 做者在持續維護,有社區支持。

Archery運維

項目地址: https://github.com/hhyo/Archery
使用文檔: https://archerydms.com/

Archery 定位於 SQL 審覈查詢平臺,旨在提高 DBA 的工做效率,支持多數據庫的 SQL 上線和查詢,同時支持豐富的 MySQL 運維功能,全部功能都兼容手機端操做。ide

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 幾類工具,關於各個工具的使用方法,還需各位詳細探索。感興趣的同窗能夠安裝學習下,好的工具能讓工做事半功倍。

wx_blog.png

相關文章
相關標籤/搜索