<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MySQL 開源工具集合

          共 2796字,需瀏覽 6分鐘

           ·

          2021-07-31 12:12

          點(diǎn)擊上方"藍(lán)字"關(guān)注我們,享更多干貨!

          上次聊到MySQL官方運(yùn)維工具。這次再了解下常用的開源工具。

          目前已收集的并在實(shí)際環(huán)境中使用過(guò)的開源工具如下:

          fcca4047baec3456e1da58f7c88bf173.webp
          可以說(shuō)掌握了這些工具(原理和使用技巧),MySQL的日常運(yùn)維就更簡(jiǎn)單。

          備注:介紹中圖片部分是開源社區(qū)的,部分是自己按照思路畫的,畫圖有助于理解。

          在線DDL變更

          pt-osc&gh-ost都是在線變更ddl的工具。

          • pt-osc在于觸發(fā)器原理

            60d1f3642c987193d69c033506d64362.webp

          • gh-ost不依賴于觸發(fā)器,通過(guò)模擬從庫(kù),在binlog中獲取增量變更,再異步應(yīng)用到ghost表

            029c88a67506df7ea7affe4631781668.webp
            備注:最終都會(huì)有RENAME表名的動(dòng)作。

          備份恢復(fù)工具

          • xtrabackup 二進(jìn)制在線熱備份工具,支持增量備份。目前物理備份中唯一的選擇。全量方面,其實(shí)mysql8.0 clone也算是不錯(cuò)的選擇。(高版本innobackupex已廢棄)

            966dc0cc6eb766d0fc62069f26b3a408.webp

          • mydumper是多線邏輯備份工具,一些自研產(chǎn)品常用的工具,myloader是sql語(yǔ)句導(dǎo)入工具 ,同一個(gè)軟件包,跟mydumper結(jié)合使用。


            ab363ba93530d6561818caea8d3e1515.webp

          壓測(cè)工具

          • TPCC測(cè)試模擬了一個(gè)比較復(fù)雜的 OLTP應(yīng)用環(huán)境,是一個(gè)在線零售公司。此公司對(duì)10萬(wàn)種商品進(jìn)行銷售,業(yè)務(wù)模型:批發(fā)零售系統(tǒng),訂單處理下的數(shù)據(jù)庫(kù)的表現(xiàn)。

            615a929bbe23f79bfb2ec94f9231039e.webp

          • sysbench是一個(gè)開源的、模塊化的、跨平臺(tái)的多線程性能測(cè)試工具,可以用來(lái)進(jìn)行CPU、內(nèi)存、磁盤I/O、線程、數(shù)據(jù)庫(kù)的性能測(cè)試。單語(yǔ)句INSERT,SELECT,UPDATE下的數(shù)據(jù)庫(kù)的表現(xiàn)。


            29e89163fac0ed0775fc7dd9f1646d34.webp

          區(qū)別在于TPCC測(cè)試的業(yè)務(wù)流程,sysbench測(cè)試的單語(yǔ)句執(zhí)行性能。按照自需選擇測(cè)試工具。

          閃回工具

          有時(shí)會(huì)誤刪或者誤更新數(shù)據(jù),binlog格式必須為row,且binlog_row_image=full,并且保留下來(lái)的情況下??梢苑治鯾inlog回轉(zhuǎn)SQL語(yǔ)句進(jìn)行恢復(fù)。就是delete→insert ,insert→delete,update→update方式按照時(shí)間順序倒序回放。常用的工具有binlog2sql和MyFlash。

          大眾點(diǎn)評(píng) binlog2sql:

          • 數(shù)據(jù)庫(kù)服務(wù)必須在線狀態(tài)

          • 開發(fā)語(yǔ)言Python 2.7, 3.4+

          • 僅支持 MySQL 5.6, 5.7
            https://github.com/danfengcao/binlog2sql

          美團(tuán)點(diǎn)評(píng) MyFlash:

          • 僅支持MySQL 5.6與5.7

          • 只能回滾DML(增、刪、改)

          • 開發(fā)語(yǔ)言c,mysqlbinlog工具配合sed、awk

          • 離線解析
            https://github.com/Meituan-Dianping/MyFlash

          MyFlash做的性能對(duì)比:

          7e29cb5b0a3236f77dafe4cf89d448f9.webp

          • binlog2sql是要分析數(shù)據(jù)庫(kù)運(yùn)行中的一些狀態(tài) 和 BINLOG_DUMP協(xié)議獲取binlog內(nèi)容

          • mysqlbinlog是因?yàn)橐裝inlog解析的不是標(biāo)準(zhǔn)的SQL語(yǔ)句

          • MyFlash是直接生成標(biāo)準(zhǔn)sql語(yǔ)句,效率上更高

          慢日志分析

          pt-query-digest是 Percona-Toolkit 的組件之一,非常不錯(cuò)的日志分析工具,優(yōu)于mysqldumpslow,可以從普通日志、慢查詢?nèi)罩?、二進(jìn)制日志以及show processlist和tcpdump中對(duì)SQL進(jìn)行分析。

          1c0599dfb486ead14fe74d9ea9a0cd86.webp
          e3bc2d039be113e8eccf6686e2f59e3b.webp

          主從一致性驗(yàn)證

          pt-table-checksum 是 Percona-Toolkit 的組件之一,用于檢測(cè)MySQL主、從庫(kù)的數(shù)據(jù)是否一致。其原理是在主庫(kù)執(zhí)行基于statement的sql語(yǔ)句來(lái)生成主庫(kù)數(shù)據(jù)塊的checksum,把相同的sql語(yǔ)句傳遞到從庫(kù)執(zhí)行,并在從庫(kù)上計(jì)算相同數(shù)據(jù)塊的checksum,最后,比較主從庫(kù)上相同數(shù)據(jù)塊的checksum值,由此判斷主從數(shù)據(jù)是否一致。recursion-method 方式選擇host方式。

          aa6a8f48c9e217f878adc720dea926a2.webp

          其他

          • undrop-for-innodb分析ibd文件進(jìn)行數(shù)據(jù)恢復(fù)工作。當(dāng)誤刪除數(shù)據(jù)、無(wú)備份,且確保本地ibd文件沒有寫入,數(shù)據(jù)能恢復(fù)。但中文解析可能失敗需注意。

          • innodb_rub
            innodb_ruby 主要可查看innodb數(shù)據(jù)庫(kù)數(shù)據(jù)表的各種存儲(chǔ),解析innodb的文件,用于學(xué)習(xí)數(shù)據(jù)庫(kù)底層的一些存儲(chǔ)。

          備注:這里可以結(jié)合官方innnchecksum,分析MySQL8.0的ibd文件結(jié)構(gòu),便于做個(gè)類似的工具

          SQL審核web工具

          基于Python 及 Django,利于二次開發(fā)改造,有開發(fā)能力,可以參考。主要是依賴于pt-toolkit進(jìn)行整合開發(fā)的。

          • Yearning
            自動(dòng)化SQL語(yǔ)句審核,可對(duì)SQL進(jìn)行自動(dòng)檢測(cè)并執(zhí)行。DDL/DML語(yǔ)句執(zhí)行后自動(dòng)生成回滾語(yǔ)句。前身是Inception。
            https://github.com/cookieY/Yearning

          • Archery
            集成SQL查詢、審核、執(zhí)行、備份、慢日志管理等功能。
            https://github.com/hhyo/Archery

          客戶端圖形化管理工具

          主要解決數(shù)據(jù)庫(kù)管理員、程序開發(fā)者提供可視化的SQL開發(fā)、數(shù)據(jù)操作、以及數(shù)據(jù)庫(kù)管理功能,易學(xué)易用。特別是數(shù)據(jù)導(dǎo)入導(dǎo)出功能和二進(jìn)制數(shù)據(jù)轉(zhuǎn)化圖片方面,比較方便。但對(duì)于DBA來(lái)說(shuō)是一個(gè)潛在的風(fēng)險(xiǎn),長(zhǎng)時(shí)間使用這些工具,命令行易忘記。
          從上到下推薦:

          • Navicat

          • SQLyog

          • HeidiSQL:采用 Delphi 開發(fā),支持 Windows 操作系統(tǒng)。支持 MySQL、MariaDB、Percona Server 和微軟的 SQL Server

          • MySQL Workbench 官方管理重量級(jí)工具

          • PhpMyAdmin 安裝部署比較麻煩,早起使用的多

          總結(jié)

          對(duì)于MySQL5.7版本這些工具目前支持的都非常友好,但8.0版本目前很多工具不兼容。

          工具就是替代一部分功能,提高效率的。MySQL運(yùn)維中提高工作效率,就需要引入這些工具,也需要使用得當(dāng),理解并熟悉用法,才是運(yùn)維之道。


          墨天輪原文鏈接:https://www.modb.pro/db/77114(復(fù)制到瀏覽器或者點(diǎn)擊“閱讀原文”立即查看)

          關(guān)于作者崔虎龍,云和恩墨MySQL技術(shù)顧問(wèn),長(zhǎng)期服務(wù)于金融、游戲、物流等行業(yè)的數(shù)據(jù)中心,設(shè)計(jì)數(shù)據(jù)存儲(chǔ)架構(gòu),并熟悉數(shù)據(jù)中心運(yùn)營(yíng)管理的流程及規(guī)范,自動(dòng)化運(yùn)維等。擅長(zhǎng)MySQL、Redis、MongoDB數(shù)據(jù)庫(kù)高可用設(shè)計(jì)和運(yùn)維故障處理、備份恢復(fù)、升級(jí)遷移、性能優(yōu)化。自學(xué)通過(guò)了MySQL OCP 5.6和MySQL OCP 5.7認(rèn)證。2年多開發(fā)經(jīng)驗(yàn),10年數(shù)據(jù)庫(kù)運(yùn)維工作經(jīng)驗(yàn),其中專職做MySQL工作8年;曾經(jīng)擔(dān)任過(guò)項(xiàng)目經(jīng)理、數(shù)據(jù)庫(kù)經(jīng)理、數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)師、MySQL技術(shù)專家、DBA等職務(wù);涉及行業(yè):金融(銀行、理財(cái))、物流、游戲、醫(yī)療、重工業(yè)等。


          推薦閱讀:什么是布隆過(guò)濾器?如何解決高并發(fā)緩存穿透問(wèn)題?
          如何通過(guò)Binlog來(lái)實(shí)現(xiàn)不同系統(tǒng)間數(shù)據(jù)同步
          高并發(fā)服務(wù)優(yōu)化篇:詳解RPC的一次調(diào)用過(guò)程
          如何設(shè)計(jì)一個(gè)高性能的秒殺系統(tǒng)

          關(guān)號(hào)互聯(lián)網(wǎng)全棧架構(gòu),價(jià)。

          瀏覽 51
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  超碰操网 | www亚洲 | 成人国产精品免费视频 | 无码人妻一区二区三区 | 91你懂的 |