還在擔心寫的一手爛SQL,送你4款工具

2022-09-17 12:24:12 字數 3157 閱讀 9376

對於正在執行的mysql,效能如何,引數設定的是否合理,賬號設定的是否存在安全隱患,你是否了然於胸呢?

俗話說工欲善其事,必先利其器,定期對你的mysql資料庫進行乙個體檢,是保證資料庫安全執行的重要手段,因為,好的工具是使你的工作效率倍增!

今天和大家分享幾個mysql 優化的工具,你可以使用它們對你的mysql進行乙個體檢,生成awr報告,讓你從整體上把握你的資料庫的效能情況。

是mysql乙個常用的資料庫效能診斷工具,主要檢查引數設定的合理性包括日誌檔案、儲存引擎、安全建議及效能分析。針對潛在的問題,給出改進的建議。是mysql優化的好幫手。

在上一版本中,mysqltuner支援mysql / mariadb / percona server的約300個指標。

[root@localhost ~]#wget
1.2 使用

[root@localhost ~]# ./mysqltuner.pl --socket /var/lib/mysql/mysql.sock

>> mysqltuner 1.7.4 - major hayden

>> bug reports, feature requests, and downloads at

>> run with '--help' for additional options and output filtering

[--] skipped version check for mysqltuner script

please enter your mysql administrative login: root

please enter your mysql administrative password: [ok] currently running supported mysql version 5.7.23

[ok] operating on 64-bit architecture

1.3、報告分析

1)重要關注[!!](中括號有嘆號的項)例如[!!] maximum possible memory usage: 4.8g (244.13% of installed ram),表示記憶體已經嚴重用超了。

2)關注最後給的建議「recommendations 」。

mysql的另乙個優化工具,針於mysql的整體進行乙個體檢,對潛在的問題,給出優化的建議。

目前,支援檢測和優化建議的內容如下:

[root@localhost ~]#wget
2.2 使用

[root@localhost ~]# [root@localhost dba]# ./tuning-primer.sh

-- mysql performance tuning primer --

- by: matthew montgomery -

2.3 報告分析

重點檢視有紅色告警的選項,根據建議結合自己系統的實際情況進行修改,例如:

pt-variable-advisor 可以分析mysql變數並就可能出現的問題提出建議。

3.1 安裝

[root@localhost ~]#wget 

[root@localhost ~]#yum install percona-toolkit-3.0.13-1.el7.x86_64.rpm

3.2 使用

pt-variable-advisor是pt工具集的乙個子工具,主要用來診斷你的引數設定是否合理。

[root@localhost ~]# pt-variable-advisor localhost --socket /var/lib/mysql/mysql.sock
3.3 報告分析

重點關注有warn的資訊的條目,例如:

pt-query-digest 主要功能是從日誌、程序列表和tcpdump分析mysql查詢。

4.1安裝

具體參考3.1節

4.2使用

pt-query-digest主要用來分析mysql的慢日誌,與mysqldumpshow工具相比,py-query_digest 工具的分析結果更具體,更完善。

[root@localhost ~]# pt-query-digest /var/lib/mysql/slowtest-slow.log
4.3 常見用法分析

1)直接分析慢查詢檔案:

pt-query-digest /var/lib/mysql/slowtest-slow.log > slow_report.log
2)分析最近12小時內的查詢:

pt-query-digest --since=12h /var/lib/mysql/slowtest-slow.log > slow_report2.log
3)分析指定時間範圍內的查詢:

pt-query-digest /var/lib/mysql/slowtest-slow.log --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log
4)分析指含有select語句的慢查詢

pt-query-digest --filter '$event-> =~ m/^select/i' /var/lib/mysql/slowtest-slow.log> slow_report4.log
5)針對某個使用者的慢查詢

pt-query-digest --filter '($event-> || "") =~ m/^root/i' /var/lib/mysql/slowtest-slow.log> slow_report5.log
6)查詢所有所有的全表掃瞄或full join的慢查詢

pt-query-digest --filter '(($event-> || "") eq "yes") ||(($event-> || "") eq "yes")' /var/lib/mysql/slowtest-slow.log> slow_report6.log
4.4 報告分析

(一)手寫spring IOC容器

設計bean工廠介面 如何告訴他建立bean?建立什麼bean?bean工廠實現 畫完整uml類圖 編寫 測試總結 1.ioc是什麼?ioc inversion of control 控制反轉,也稱依賴倒置反轉。反 依賴物件的獲得權被反轉了,由自己建立,變為從ioc容器獲取,和自動注入。2.帶來什麼...

寫一手漂亮的js react篇

哈哈,又是我,廢話不多說,直接看 既然react是元件化的,那麼相同的 我不會寫第二遍 不在dom結構中夾雜太多js邏輯 可讀性 在我心裡永遠大於 效能 追求極致效能場景除外 bad class demo extends react.component componentdidmount compo...

TensorFlow實戰(一)手寫數字識別

tensorflow實戰 第一章是基礎,沒什麼好看的,跳過出,第二章是說tensorflow和其他的模組,比如caffe等,caffe以前也說過,比較容易,但是配置比較麻煩 cpu的容易點,gpu比較麻煩 第三章 簡單說一下安裝吧,就行在命令列輸入 前提是你已經有python pip install...