MySQL常用工具選擇和建議

lhrbest發表於2020-04-13


MySQL常用工具選擇和建議


   有句話說,工欲善其事,必先利其器,在MySQL方向尤其如此。

 技術規劃的時候,會發現有一些事情需要前置,比如說MySQL裡面的工具,如果等到實際碰到了各色的問題再來統一,就比較難了。有溝通成本,人力成本,技術沉澱和持續交付等等的成本,這些最好提前和團隊有一個基本的溝通,達成一個共識。內部統一了以後,和開發同學規範統一就有了一個基線。

大體來說,我考慮了以下幾個方面 的工具

運維管理工具

資料備份恢復工具

資料庫優化工具

客戶端工具

效能測試工具

資料庫版本管理工具

資料庫審計工具


1.  運維管理工具

要說 MySQL 運維工具,當仁不讓 Percona-toolkit, 它應該是我們學習 MySQL 需要熟練使用的一個運維工具。

Percona-tooolkit 通常簡稱為 pt 工具, pt 工具 其實是工具 Maatkit  Aspersa 的組合,它們 都出自同一個作者 Baron Schwartz ;其中, Maatkit 工具更偏重於資料庫層面,最開始就是 P erl 的基因。而 Aspersa 的範疇更傾向於系統層面,比如磁碟資訊等。

2017 年開始進入了 3.0 時代,所以線上使用的版本幾乎都是 2.2 (自 2013 年),距今已經跨越了好幾個年頭。  pt 工具被 Percona 收至麾下,有專門的 專案 維護,

2.  資料備份恢復工具

在資料備份和恢復方面,主要依據是邏輯備份和物理備份,行業裡主要有以下的一些備份工具:

(1)  m ysqldump MySQL 最經典的邏輯備份工具 , 也是 MySQL 工具集裡預設的工具,適用於一些資料量不大的資料備份工作。值得一提的是 Facebook 的生產環境都是 使用 mysqldump 進行邏輯備份

(2) mysqlpump ,MySQL新版本推出的備份工具,但是效果沒有想象的那麼好,最大的一個痛點應該就是備份的IO問題還是沒法大幅度擴充套件,因為都在最後備份出來的那個檔案上,沒有拆分。


(3)  mydumper,這個工具還算比價流行,能夠對原來的mysqldump做一個很好的補充。騰訊雲就是定製了mydumper來做為預設的備份工具.

另外和 Mydumper 配套的工具是 myloader, 作為資料的批量匯入工具。

(4 ) Xtrabackup,來自Percona的工具,擅長做物理備份,而且更傾向於是全備+增備結合的方式。

資料庫優化工具

  ( 1 innotop

這是一款 P erl 所寫 MySQL 監控工具 可以命令列模式呼叫 展示 My S QL 伺服器和 Inno DB 的執行狀況 下載地址 為: https://github.com/innotop/innotop

目前 Github 上提供 兩種版本,一種是開發版( innotop-master ),一種是 穩定版( innotop-gtid ),推薦使用穩定版 使用截圖如下:


 ( 2 orzdba

orzdba 是淘寶 DBA 團隊開發出來的一個 P erl 監控指令碼 ,可以 監控 mysql 資料庫 , 也有一些磁碟和 cpu 的監控 使用截圖如下:


     3 mytop

   這是一款 類似  Linux  下的  top  命令風格的  MySQL  監控工具,可以監控當前的連線 使用者和正在執行的命令。

4 orztop

這是一款可以檢視MySQL資料庫實時執行的SQL狀況的工具,如果你習慣於用show processlist/show full processlist抓取SQL,這款工具就是一個很好的補充。

  ( 5 s ystemtap Linux 下的動態跟蹤工具,可以監控、跟蹤執行中的程式或 Linux 核心操作 它帶來的效能損耗 很小,在一些特定的場景下可以編寫 SystemTap 指令碼 來除錯一些效能問題。

作業系統監控

(1)  nmon , (Nigel’s Monitor)是由IBM 提供、免費監控 AIX 系統與 Linux 系統資源的工具 在系統資料採集方面使用廣泛。

歷史資料

(2)  M pstat   , Multiprocessor Statistics 的縮寫,是實時監控工具, mpstat 最大的特點是 : 可以檢視多核心的 cpu 中每個 CPU 的統計資料

5 慢日誌分析工具

1m ysqldumps l ow

這是 MySQL 產品包中的一個原生命令工具,它 可以 支援慢查詢的統計分析 ,對 MySQL 查詢語句的監控、分析、優化是 MySQL 優化 是一個開始,相對來說,功能支援比較少。

2 pt-query-digest 

經典的慢日誌分析工具 , 屬於 pt 工具的一個子集。它基於 Perl 開發, mysqldumpshow 工具相比, py-query_digest  工具的分析結果更具體,更完善

3 mysqlsla

該工具是 daniel-nichter  P erl  寫的一個指令碼 , mysqlsla pt-query-digest 的作者是同一個人 ,現在是主打 pt 系列工具,現在已經不再維護了。

4 Anemometer   

一個圖形化顯示從 MySQL 慢日誌的 開源專案,基於 php 開發,充分 結合 pt-query-digest Anemometer 可以很輕鬆的去分析慢查詢日誌,找到哪些 SQL 需要優化。

6 客戶端工具

1 SQLyog

SQLyog  是一個快速而簡潔的圖形化管理 M y SQL 資料庫的工具,由業界著名的 Webyog 公司出品 , 屬於付費產品。

2 Navicat

一套快速、可靠並價格 適當 的資料庫管理工具,專為簡化資料庫的管理及降低系統管理成本而 設計, 它的設計符合 資料庫管理員 、開發人員及中小企業的需要 ,屬於付費產品。

3 MySQL Workbench

MySQL 設計的 ER/ 資料庫建模工具 ,可以支援資料庫管理,資料遷移,資料建模等功能, 它同時有 開源 和商業化的兩個版本

    ( 4 SQL developer

這個工具是 Oracle 推出的一款免費的資料庫管理工具,它主要支援 Oracle, 如果需要支援 MySQL ,需要額外下載一個驅動包即可使用。


效能監控工具

(1) Zabbix,一個基於WEB介面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案,集監控報警於一身的強大功能,在網際網路行業使用比例很高。


2 Lepus

天兔是國內的一位DBA開發的一款開源的,基於php開發的資料庫監控管理系統,可以對資料庫的實時健康和各種效能指標進行全方位的監控,它本身可以支援MySQL、 Oracle、MongoDB、Redis資料庫的監控,在慢日誌的功能設計方面很有亮點。

3 mysql-statsd,一個收集 MySQL 資訊的 Python 守護程式。並通過 StatsD 傳送到 Graphite


效能測試工具

業務上線,環境初始化 需要 烤機 測試 主要就是讓伺服器先吃點苦頭,看能不能經受住考驗。在一定的測試之後,我們可以 得到壓測的 資料結果 作為後續 上線的基準 參考。

行業裡主要的效能測試工具有以下幾類:

(1)  Sysbench 是一款主流的效能測試工具,本身是 開源的 具備多執行緒壓測能力,覆蓋硬體和軟體層面,產品隸屬於Percona

(2)  tpcc-mysql Percona按照TPC - C開發的 產品 主要用於 My SQL 的壓測工具

(3)  Mydbtest , 該工具是有知名資料庫專家樓方鑫先生開發, 免安裝,上手快 可以針對業務做定製化壓測。

(4)  m ysqlslap mysql自帶的基準測試工具, 5.1.4 版開始 推出,可以 通過模擬多個併發客戶端訪問 MySQL 來執行壓力測試


資料庫版本管理工具

liquibase,一個資料庫重構和遷移的開源工具,通過日誌檔案的形式記錄資料庫的變更,目前日誌檔案支援多種格式,如XML, YAML, JSON, SQL等

  10    MySQL 審計

資料庫審計是資料安全方面的一個重要參考,一個資料庫活動,對資料庫操作進行細粒度審計的合規性管理,對資料庫遭受到的風險行為進行告警,是藉助於稽核工具希望能夠感知的。

目前在 MySQL 審計方向主要存在以下幾類審計外掛:

(1)  官方的商業版外掛

(2)  Percona Audit Log 外掛

(3)  MariaDB  外掛


初步結論:

(1)  運維管理工具 主要考慮 Percona-toolkit, 作為預設的初始化軟體使用

(2)  資料備份恢復工具 目前還是已現有的備份恢復體系為主,採用 xtrabackup mysqldump 結合的方式。

 xtrabackup 通過物理備份,每日全備,保留 7 天備份集,版本建議為 2.4.8

 mysqldump 備份資料字典庫,比如 mysql ,每日全備,保留 7 天備份集。

在這個基礎上在每個機房再申請一臺 binlog 備份機,通過 xtrabackup 每日全備, binlog 備份,保留 3 天,達到基本的資料恢復需求。

注: mydumper和myloader的適用場景也比較廣, 可以 作為一些備份恢復方案或者遷移的的改進

(3)  MySQL 實時狀態分析工具 使用 orzdba orztop ,其中 orzdba 的內容可以通過自行定製 mysqladmin 來滿足需求, orztop 可以作為環境初始化的軟體。

(4)  作業系統監控工具使用 nmon 收集歷史資料, mpstat 得到實時的系統監控資料 , 需要向系統部提需求定製。

(5)  慢日誌分析工具使用 pt-query-digest, 需要調研從 Lepus 中抽取出慢日誌的邏輯單獨呼叫。日誌系統的部分需要和馳騁進一步溝通。

(6)  客戶端工具 使用 workbench ,推薦開發同學使用 workbench, 需要內部整理出操作文件

(7)  效能測試工具 主要使用 sysbench 在業務上線,環境初始化中做拷機測試,壓測硬體( IO,CPU,MEM )等,壓測 MySQL ,歷時至少一週。在這個基礎上使用 tpcc-mysql,mydbtest 做輔助測試。主要目標是通過壓測的部分得到一些關鍵的參考指標( IOPS,TPS,QPS )等。

(8)  MySQL 審計工具 使用建議選定 Percona 的審計外掛 Audit Log MariaDB Server Audit ,目前定位為 DDL 敏感, root 使用者敏感,根據後期的測試, MariaDB Server Audit 外掛功能全面,優先選用。





About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub、部落格園、CSDN和個人微 信公眾號( DB寶)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文部落格園地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群號: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友 646634621 ,註明新增緣由

● 於 2020-04-01 06:00 ~ 2020-04-30 24:00 在西安完成

● 最新修改時間:2020-04-01 06:00 ~ 2020-04-30 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網路班http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客戶端掃描下面的二維碼來關注小麥苗的微 信公眾號( DB寶)及QQ群(DBA寶典)、新增小麥苗微 信, 學習最實用的資料庫技術。

........................................................................................................................

歡迎與我聯絡

 

 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2685838/,如需轉載,請註明出處,否則將追究法律責任。

相關文章