中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pt(Percona Toolkit)工具介紹

發布時間:2020-06-22 14:08:10 來源:網絡 閱讀:3284 作者:輕狂書生999 欄目:MySQL數據庫

       pt(Percona Toolkit)工具介紹


.介紹
1.找出重復的索引和外鍵

    pt-duplicate-key-checker

例子:[root@node1 ~]# pt-duplicate-key-checker --user=root --password='abc123'

# ########################################################################

# Summary of indexes                                                      

# ########################################################################

 

# Total Indexes  89


這個工具會將重復的索引和外鍵都列出來,并生成了刪除重復索引的語句,非常方便

2.執行alter的時候不會阻塞寫和讀取操作

    pt-online-schema-change

非常有名的工具,工作原理是創建一個和你要執行alter操作的表一樣的空表結構,執行表結構修改,然后從原表中先創建一個觸發器,把新插入和更改的數據同步到新表,再copy原始數據到表結構修改后的表,當數據copy完成以后就會將原表移走,用新表代替原表,默認動作是將原表drop掉。所以,如果表中已經定義了觸發器這個工具就不能工作了。也要注意數據的備份問題.

3.分析日志記錄里面的sql或者直接整條sql,并提出建議

    pt-query-advisor

實際意義不大,對于分析大文件容易出現卡死.

4.格式化顯示mysql權限

    pt-show-grants

例子:[root@node1 ~]# pt-show-grants --user=root --password='abc123'

實際意義不大,主要是比較mysql權限以及進行版本控制

5.在多臺服務器上執行查詢,并比較有什么不同

    pt-upgrade

這在升級服務器的時候非常有用,可以先安裝并導數據到新的服務器上,然后使用這個工具跑一下sql看看有什么不同,可以找出不同版本之間的差異。

6.用explain分析sql如何利用索引并生成報告

    pt-index-usage

可以直接從慢查詢中獲取sql,FILE文件中的sql格式必須和慢查詢中個是一致,如果不是一直需要用pt-query-digest轉換一下。也可以不生成報告直接保存到數據庫中

7.查詢程序執行聚合的GDB堆棧跟蹤并匯總

    pt-pmp

看起來很復雜,其實屬于底層程序行為效率跟蹤

8.格式化explain出來的執行計劃按照tree方式輸出

    pt-visual-explain

沒有實際意義,只是方便閱讀

9.比較mysql配置文件和服務器參數

    pt-config-diff

最少必須指定兩個配置文件源,就像unix下面的diff命令一樣,如果配置完全一樣就不會輸出任何東西,有時候用來排除配置差異造成的問題.

10.對mysql的配置和sataus信息進行匯總

    pt-mysql-summary

連接mysql后查詢出status和配置信息保存到臨時目錄中,然后用awk和其他的腳本工具進行格式化

11.分析mysql的參數變量并給出建議

    pt-variable-advisor

實際意義有限,還是按自己需求來配置最實際,特別是多實例場景,這個建議毫無意義.

12.匯總mysql死鎖的相關信息

    pt-deadlock-logger

收集和保存mysql上最近的死鎖信息,可以直接打印死鎖信息和存儲死鎖信息到數據庫中,死鎖信息包括發生死鎖的服務器、最近發生死鎖的時間、死鎖線程id、死鎖的事務id、發生死鎖時事務執行了多長時間等等非常多的信息,對于頻繁出現死鎖的情況,建議開一段時間來收集信息.

13.匯總mysql外鍵錯誤信息

    pt-fk-error-logger

通過SHOW INNODB STATUS提取和保存mysql數據庫最近發生的外鍵錯誤信息。可以通過參數控制直接打印錯誤信息或者將錯誤信息存儲到數據庫的表中.然而現在很少用外鍵了,也不建議用外鍵.

14.查看SHOW GLOBAL STATUS的多個樣本的信息

    pt-mext

實際意義不大,手動執行然后分析其實也不難.

15.分析sql日志并生成報告,最后給出建議

    pt-query-digest

很出名的工具,多用來分析統計慢查詢,也可以統計一般sql日志,運行速度快,信息清晰.它可以分析binlog、General log、slowlog,也可以通過SHOW PROCESSLIST或者通過tcpdump抓取的MySQL協議數據來進行分析。可以把分析結果輸出到文件中,分析過程是先對查詢語句的條件進行參數化,然后對參數化以后的查詢進行分組統計,統計出各查詢的執行時間、次數、占比等,可以借助分析結果找出問題進行優化。

16.按時間統計sql日志并生成報告

    pt-trend

實際意義不大,例如:讀取本地慢查詢日志并輸出統計信息.

17.監控mysql復制延遲

    pt-heartbeat

會生成一個數據表,記錄延時時間,不過功能做得不是太好,如果沒有數據庫完全控制權或者網絡問題,還是慎用,容易造成數據不一致.

18.設置從服務器落后于主服務器指定時間

    pt-slave-delay

建議不用,功能做得不好,容易搞掛主從結構,到時不得不重做主從就麻煩了.

19.查找和打印mysql所有從服務器復制層級關系

    pt-slave-find

連接mysql主服務器并查找其所有的從,然后打印出所有從服務器的層級關系。

20.監視mysql復制錯誤,并嘗試重啟mysql復制

    pt-slave-restart

監視一個或者多個mysql復制錯誤,當從停止的時候嘗試重新啟動復制。屬于監控相關

21.檢查mysql復制一致性

    pt-table-checksum

很出名的工具,只需要在master上執行即可,通常總是和pt-table-sync協作。工作原理:pt-table-checksum在主上執行檢查語句在線檢查mysql復制的一致性,然后通過復制傳遞到從,再通過update更新master_src的值。通過檢測從上this_src和master_src的值從而判斷復制是否一致。最后把檢查報告寫到某個位置,等待pt-table-sync調用。根據原理來說,它對于binlog_format要求是Statement和Mixed才能正常使用,對于row模式來說,則會報錯不能使用。所以使用前要注意進行更改配置,set global binlog_format=STATEMENT來使用,不然就使用不了,運行完改回去就可以了。也要注意需要一定權限,最好用root.

22.同步mysql主從庫差異表的數據

    pt-table-sync

很出名的工具,主從復制本身存在一些缺陷,在極端情況下會出現從庫多了數據,或者少了數據的情況,這個時候就需要人為修復,這個工具可以幫到我們。原理:通過pt-table-checksum得到的數據,列出或直接執行修改復制的差異數據,使其重新同步。總是在主上執行數據的更改,再同步到從上,不會直接更改成從的數據,在主上執行更改是基于主上現在的數據,不會更改主上的數據。注意使用之前先備份你的數據,避免造成數據的丟失.執行execute之前最好先換成--print或--dry-run查看一下會變更哪些數據。

23.磁盤io監控工具

    pt-diskstats

iostat有點像,但是這個工具是交互式并且比iostat更詳細。也可以分析從遠程機器收集的數據。

24.模擬切割文件并通過管道傳遞給先入先出隊列

    pt-fifo-split

實際用的不多,通過讀取大文件中的數據并打印到fifo文件,每次達到指定行數就往fifo文件中打印一個EOF字符,讀取完成以后,關閉掉fifo文件并移走,然后重建fifo文件,打印更多的行。這樣可以保證你每次讀取的時候都能讀取到制定的行數直到讀取完成。注意此工具只能工作在類unix操作系統。這個程序對大文件的數據導入數據庫非常有用,

25.顯示系統信息概況

    pt-summary

此工具會運行和多命令去收集系統狀態和配置信息,先保存到臨時目錄的文件中去,然后運行一些unix命令對這些結果做格式化,最好是用root用戶或者有權限的用戶運行此命令。

26.收集mysql的用于診斷的數據

    pt-stalk

遇到一些疑難雜癥的時候,可以拿來測試并獲取問題數據.原理:pt-stalk等待觸發條件觸發,然后收集數據幫助錯誤診斷,它被設計成使用root權限運行的守護進程,因此你可以診斷那些你不能直接觀察的間歇性問題。默認的診斷觸發條件為SHOW GLOBAL STATUS。也可以指定processlist為診斷觸發條件 ,使用--function參數指定。

27.將mysql數據庫中表的記錄歸檔到另外一個表或者文件

    pt-archiver

這個工具只是歸檔舊的數據,不會對線上數據的OLTP查詢造成太大影響,你可以將數據插入另外一臺服務器的其他表中,也可以寫入到一個文件中,方便使用load data infile命令導入數據。另外你還可以用它來執行delete操作。這個工具默認的會刪除源中的數據。使用的時候請注意。

28.查找mysql表并執行指定的命令,和find命令類似。

    pt-find

庫少的話用途不大,當你的庫很多,表也很多的時候,而又忘記了自己要查的表名的時候,還是挺有用的.

29.Kill掉符合指定條件mysql語句

    pt-kill

加入沒有指定文件的話pt-kill連接到mysql并通過SHOW PROCESSLIST找到指定的語句,反之pt-kill從包含SHOW PROCESSLIST結果的文件中讀取mysql語句.例如:刪除運行超過60秒的連接.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝城县| 阿城市| 云浮市| 永顺县| 新平| 留坝县| 平凉市| 苍梧县| 天门市| 通辽市| 棋牌| 丹江口市| 六安市| 遵义市| 巴林右旗| 巫溪县| 元氏县| 钟祥市| 大石桥市| 鹿邑县| 榆中县| 阳谷县| 昭觉县| 延边| 治多县| 沁水县| 抚远县| 周口市| 茌平县| 海城市| 棋牌| 宝鸡市| 腾冲县| 岳阳市| 南乐县| 海宁市| 涡阳县| 奇台县| 襄城县| 滦平县| 麻城市|