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 的執行狀況 下載地址 為:

目前 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 外掛功能全面,優先選用。




10款最佳的MySQL GUI工具,資料庫管理員的好幫手

MySQL是最廣泛使用和流行的開源資料庫之一,圍繞它有許多工具,可以讓設計,建立和管理資料庫的過程變得更加容易和便捷。但是如何選擇最適合自己需求的工具,並不容易。這裡為大家推薦10款MySQL的GUI工具,它們對開發人員和DBA來說都是不錯的解決方案。

1.dbForge Studio for MySQL

它是一款多功能的GUI工具,也是一個IDE,其中包含MySQL資料庫開發和維護所需的廣泛特性。它可以建立和執行查詢,開發和除錯儲存,自動化資料庫物件管理,透過直觀的介面分析表資料等等。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

dbForge Studio提供豐富的程式碼格式化功能,可用於建立和修改程式碼配置檔案,以標準化程式碼並使程式碼儘可能乾淨;它支援MariaDB資料庫;能夠在CRUD生成器的幫助下為SQL檔案的SELECT,INSERT,UPDATE和DELETE語句建立結果指令碼。

2.MySQL Workbench

MySQL Workbench是面向資料庫架構師,開發人員和DBA的統一可視工具。它提供了用於設計,開發和管理資料庫的各種功能。它有3個版本可用-社群,標準和企業版。社群版是一個免費的開源版本,提供了一組基本功能,其餘兩個是具有擴充套件功能的商業版本。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

MySQL Workbench允許檢視伺服器狀態和執行狀況以及伺服器日誌;由Oracle開發,因此MySQL Workbench與MySQL的所有最新功能相容;它適用於Windows,Linux和Mac OS X。

3.phpMyAdmin

phpMyAdmin是一個用PHP編寫的基於Web的MySQL管理工具。它是同類工具中最受歡迎的工具之一,主要是因為它使用起來非常容易並且完全免費。它可能缺少其他工具提供的某些高階功能,但是其基本功能足以幫助你建立功能強大的網站,而無需具備MySQL的高階知識。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它滿足大多數基於Web的計算機都可以輕鬆訪問;易於安裝和使用;提供80種語言支援。

4.HeidiSQL

HeidiSQL是一款輕量級的免費軟體工具,可用於處理資料庫,包括瀏覽或編輯資料,建立和修改表,管理使用者許可權或其他任務。除了Windows,它還可以與Linux發行版一起使用。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它可以透過SSH隧道連線到MySQL資料庫;允許將ASCII和二進位制檔案批次插入表中;可移植版本中可用,不需要安裝或管理許可權。

5.Toad Edge for MySQL

Toad Edge for MySQL提供了用於資料庫開發和管理的工具集,其功能包括模式比較和同步,SQL查詢監控器,強大的資料匯入和匯出,資料庫快照建立,高階JSON編輯器等。Toad Edge適用於 Windows和Mac OSX。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它具有強大的JSON資料瀏覽器/編輯器功能;會話檢視器,可以跟蹤當前會話,終止它們或取消查詢;

6.SQLyog

SQLyog是適用於Windows的MySQL管理解決方案,提供三種付費版本。它還具有免費試用版,可讓你在購買許可證之前測試軟體。因為具有廣泛的功能列表,所以付費試用在所難免。可以同步資料和模式,執行計劃的備份,匯入外部資料等等。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它具有各種主題的可自定義使用者介面;多執行緒查詢執行;允許從架構定義生成SQL DML語句的快捷方式。

7.Navicat for MySQL

Navicat for MySQL是資料庫開發人員和管理員的一組工具,與MySQL,MariaDB和雲資料庫相容。各種各樣的功能使你能夠簡化資料庫開發過程,並在執行各種管理任務時提高工作效率。該工具提供三個付費版本,並提供14天的全功能免費試用,以幫助你評估其功能。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它適用於Windows,Mac OS X和Linux;允許將連線設定,模型,查詢和虛擬組同步到Navicat Cloud,以便可以隨時隨地與同事共享。能夠在Windows版本中列印計劃報告。

8.Aqua Data Studio

Aqua Data Studio是用於關聯式資料庫,雲資料庫和NoSQL資料庫的通用IDE,具有強大的可視資料分析功能。它可以直觀地構建查詢,為實體關係圖建模,在Excel樣式的網格中編輯資料以及執行其他資料庫開發和管理任務。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

利用該工具強大的視覺化分析功能,建立資料視覺化並與同事和客戶共享;使用一組開放的API在指令碼開發環境中開發和除錯指令碼;檢視查詢執行計劃及其統計資訊,以瞭解如何提高整體伺服器效能。

9.Valentina Studio

Valentina Studio可以建立和維護資料庫,查詢,物件關係等。免費版包括基本功能,例如編輯模式和為其建立圖表,伺服器管理,程式碼完成等。付費的Pro版本提供了附加功能,例如報表設計器,查詢生成器等。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它提供各種資料庫持續整合工具;支援具有獨特抽象連結的Valentina資料庫,它們使開發人員可以使用API和SQL命令來建立,刪除和修改表之間的連結,連結和取消連結記錄等;有免費的iOS版本

10.Sequel Pro

Sequel Pro是一個免費的MySQL資料庫管理工具,它可以執行所有基本任務,例如新增,修改,刪除,瀏覽和過濾資料庫,表和記錄,執行查詢等。Sequel Pro僅可在Mac OS X上執行。該工具是CocoaMySQL資料庫管理應用程式的延伸產品。

10款最佳的MySQL GUI工具,資料庫管理員的好幫手

它透過TCP/IP協議輕鬆連線到資料庫;支援所有版本的MySQL;輕巧易用。








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寶典今日頭條號地址:

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

● 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

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

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

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

小麥苗的微店

小麥苗出版的資料庫類叢書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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章