打開MySQL慢查詢
MySQL慢查詢記錄日誌對於跟蹤PHP+MySQL 體系下的MySQL負載調優問題頗有用處,好比安裝了不少Discuz!插件的用戶,這樣能夠大概排查出那些插件有代碼問題。其實啓用MySQL的慢查詢 日誌很簡單,只須要在MySQL的配置文件裏添加log-slow-queries和 long_query_time兩個參數便可。mysql
今天有個朋友問我,就順帶記錄上來。更多的MySQL 優化信息能夠查看這裏:http://www.ccvita.com/category/mysqlsql
Windows下開啓MySQL慢查詢
MySQL在Windows系統中的配置文件通常是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2 優化
Linux下啓用MySQL慢查詢
MySQL在Windows系統中的配置文件通常是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2 spa
注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log爲慢查詢日誌存放的位置,通常這個目錄要有MySQL的運行賬號的可寫權限,通常都將這個目錄設置爲MySQL的數據存放目錄;
long_query_time=2中的2表示查詢超過兩秒才記錄;插件
2009年09月24日更新
在my.cnf或者my.ini中添加log-queries-not-using-indexes參數,表示記錄下沒有使用索引的查詢。好比:
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
log-queries-not-using-indexes 日誌
mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
這會輸出記錄次數最多的10條SQL語句,其中:排序
好比
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
獲得返回記錄集最多的10個查詢。
/path/mysqldumpslow -s t -t 10 -g 「left join」 /database/mysql/slow-log
獲得按照時間排序的前10條裏面含有左鏈接的查詢語句。索引
SHOW VARIABLES
SHOW VARIABLES是查看MySQL的配置參數,還能夠使用相似SHOW VARIABLES LIKE ‘Key%’ 進程
SHOW PROCESSLIST
SHOW PROCESSLIST是查看當前正在進行的進程,對於有鎖表等狀況的排查頗有用處。通常狀況下,打開MySQL的慢查詢記錄 一樣有利於排查。it
SHOW OPEN TABLES
SHOW OPEN TABLES是顯示當前已經被打開的表列表。
小結 使用mysqldumpslow命令能夠很是明確的獲得各類咱們須要的查詢語句,對MySQL查詢語句的監控、分析、優化是MySQL優化的第一步,也是很是重要的一步。