對於正在執行的mysql,效能如何,引數設定的是否合理,賬號設定的是否存在安全隱患,你是否了然於胸呢? 俗話說工欲善其事,必先利其器,定期對你的mysql資料庫進行乙個體檢,是保證資料庫安全執行的重要手段,因為,好的工具是使你的工作效率倍增!今天和大家分享幾個mysql 優化的工具,你可以使用它們對你的mysql進行乙個體檢,生成awr報告,讓你從整體上把握你的資料庫的效能情況。
是mysql乙個常用的資料庫效能診斷工具,主要檢查引數設定的合理性包括日誌檔案、儲存引擎、安全建議及效能分析。針對潛在的問題,給出改進的建議。是mysql優化的好幫手。
在上一版本中,mysqltuner支援mysql / mariadb / percona server的約300個指標。
[root@localhost ~]#wget
[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)重要關注[!!](中括號有嘆號的項)例如[!!] maximum possible memory usage: 4.8g (244.13% of installed ram),表示記憶體已經嚴重用超了。
(2)關注最後給的建議「recommendations 」。
tuning-primer.shmysql的另乙個優化工具,針於mysql的整體進行乙個體檢,對潛在的問題,給出優化的建議。目前,支援檢測和優化建議的內容如下:
重點檢視有紅色告警的選項,根據建議結合自己系統的實際情況進行修改,例如:
pt-variable-advisor 可以分析mysql變數並就可能出現的問題提出建議。
[root@localhost ~]#wget
[root@localhost ~]#yum install percona-toolkit-3.0.13-1.el7.x86_64.rpm
pt-variable-advisor是pt工具集的乙個子工具,主要用來診斷你的引數設定是否合理。
[root@localhost ~]# pt-variable-advisor localhost --socket /var/lib/mysql/mysql.sock
重點關注有warn的資訊的條目,例如:
pt-query-digest 主要功能是從日誌、程序列表和tcpdump分析mysql查詢。
具體參考3.1節
pt-query-digest主要用來分析mysql的慢日誌,與mysqldumpshow工具相比,py-query_digest 工具的分析結果更具體,更完善。
[root@localhost ~]# pt-query-digest /var/lib/mysql/slowtest-slow.log
(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
MYSQL 4 檢索資料
select distinct vend id from products 不能部分使用distinct,distinct關鍵字應用於所有列而不是前置它的列。如果給出select distinct vend id,prod price,除非指定的兩個列都不同,否則所有行都被檢索出來。select p...
mysql 4 基礎 mysql 開發基礎系列4
字串型別 1.1 char 和varchar 型別 char 列的長度固定為建立表時宣告的長度,varchar 列中的值為可變長字串。在檢索的時候,char 列刪除了尾部的空格,而varchar 則保留這些空格。在sqlserver裡都是長度2 create table vc v varchar 4...
mysql4語法 mysql四 資料操作
一 介紹 mysql資料操作 dml 資料庫操縱語言 在mysql管理軟體中,可以通過sql語句中的dml語言來實現資料的操作,包括 使用insert實現資料的插入 update實現資料的更新 使用delete實現資料的刪除 使用select查詢資料以及 主要內容包括 插入資料 更新資料 刪除資料 ...