《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美團點評 MyFlash:僅支持MySQL 5.6與5.7只能回滾DML(增、刪、改)開發語言c,mysqlbinlog工具配合sed、awk離線解析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_rubinnodb_ruby 主要可查看innodb數據庫數據表的各種存儲,解析innodb的文件,用於學習數據庫底層的一些存儲。備注:這裏可以結合官方innnchecksum,分析MySQL8.0的ibd文件結構,便於做個類似的工具SQL審核web工具基於Python 及 Django,利於二次開發改造,有開發能力,可以參考。主要是依賴於pt-toolkit進行整合開發的。Yearning自動化SQL語句審核,可對SQL進行自動檢測並執行。DDL/DML語句執行後自動生成回滾語句。前身是Inception。Archery集成SQL查詢、審核、執行、備份、慢日志管理等功能。客戶端圖形化管理工具主要解決數據庫管理員、程序開發者提供可視化的SQL開發、數據操作、以及數據庫管理功能,易學易用。特別是數據導入導出功能和二進制數據轉化圖片方面,比較方便。但對於DBA來說是一個潛在的風險,長時間使用這些工具,命令行易忘記。從上到下推薦:NavicatSQLyogHeidiSQL:采用 Delphi 開發,支持 Windows 操作系統。支持 MySQL、MariaDB、Percona Server 和微軟的 SQL ServerMySQL Workbench 官方管理重量級工具PhpMyAdmin 安裝部署比較麻煩,早期使用的多總結對於MySQL5.7版本這些工具目前支持的都非常友好,但8.0版本目前很多工具不兼容。工具就是替代一部分功能,提高效率的。MySQL運維中提高工作效率,就需要引入這些工具,也需要使用得當,理解並熟悉用法,才是運維之道。關於作者崔虎龍,雲和恩墨MySQL技術顧問,長期服務於金融、遊戲、物流等行業的數據中心,設計數據存儲架構,並熟悉數據中心運營管理的流程及規範,自動化運維等。擅長MySQL、Redis、MongoDB數據庫高可用設計和運維故障處理、備份恢複、升級遷移、性能優化。自學通過了MySQL OCP 5.6和MySQL OCP 5.7認證。2年多開發經驗,10年數據庫運維工作經驗,其中專職做MySQL工作8年;曾經擔任過項目經理、數據庫經理、數據倉庫架構師、MySQL技術專家、DBA等職務;涉及行業:金融(銀行、理財)、物流、遊戲、醫療、重工業等。百度搜索“墨天輪”,查看更多技術幹貨! 《MySQL 開源工具集合》完,請繼續朗讀精采文章。 喜歡 小編的世界 e4to.com,請記得按讚、收藏及分享!
音調
速度
音量
語言
MySQL 開源工具集合
精確朗讀模式適合大多數瀏覽器,也相容於桌上型與行動裝置。
不過,使用Chorme瀏覽器仍存在一些問題,不建議使用Chorme瀏覽器進行精確朗讀。