2014-03-24 116 views
6

我的MySQL版本細節如何啓用MySQL慢查詢日誌?

  1. 服務器:localhost通過UNIX套接字
  2. 軟件:MySQL的
  3. 軟件版本:5.0.96社區日誌 - MySQL社區版(GPL)
  4. 協議版本:10

如何啓用MySQL慢查詢日誌?

+3

如果鍵入 「如何啓動MySQL慢查詢日誌」 在谷歌中,有10個結果,讓你瞬間copypaste結果。在問問題之前爲什麼不穀歌?它速度更快,它避免了像我這樣會給你-1的人。 –

+0

@ N.B。事情是,如果你現在做你的谷歌搜索,這個問題是第二個結果。生命之輪... –

回答

1

如果您的服務器在5.1.6以上,您可以在運行時本身設置慢速查詢日誌。您必須執行此查詢。

set global log_slow_queries = 1; 
set global slow_query_log_file = <some file name>; 

或者你也可以設置在my.cnf/my.ini選項文件中的這個選項

log_slow_queries = 1; 
slow_query_log_file = <some file name>; 

參見:http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log_file

+0

得到錯誤#1238 - 變量'log_slow_queries'是一個只讀變量 – John

+0

由於MySQL版本少於5.1檢查這個http://stackoverflow.com/questions/2403793/how-can-i-enable -mysqls-slow-query-log-without-restarting-mysql –

+0

由於5.6.1,'log_sloq_queries'被替換爲'slow_query_log' - https://dev.mysql.com/doc/refman/5.6/en/server -system-variables.html#sysvar_slow_query_log –

33

版本5.1.6及以上版本:

1.輸入MySQL她11和運行下面的命令:

set global slow_query_log = 'ON';

2.啓用任何其它期望的選項。下面是一些常見的例子:

set global log_queries_not_using_indexes = 'ON' 

設置路徑慢查詢日誌:

set global slow_query_log_file ='/var/log/mysql/slow-query.log'; 

的預期檢索所有行,而不是使用索引的查詢日誌詳細信息

設置查詢在運行前需要運行的時間量:

set global long_query_time = '20'; 
    (default is 10 seconds) 

3.確認的更改是通過輸入MySQL的殼和運行下面的命令活性:

show variables like '%slow%'; 

版本5.1.6如下:

  1. 用你最喜歡的文本編輯器編輯/etc/my.cnf文件 vi /etc/my.cnf

  2. 在「[mysqld]」部分下添加以下行。隨意的路徑,日誌文件更新到任何你想要的:

    log-slow-queries=/var/log/mysql/slow-query.log

3.根據需要啓用額外的選項。下面是從上述相同常用的例子:

設置被記錄的時間查詢需要之前運行量:

`long_query_time=20 
    (default is 10 seconds)` 

日誌中的預期檢索所有行,而不是查詢詳細信息使用索引:

`log-queries-not-using-indexes` 

4.重新啓動MySQL服務:

service mysqld restart 

5.確認的變化是活性通過輸入MySQL外殼中並運行以下:

show variables like '%slow%'; 

更新:1

根據MySQL的文檔,錯誤#當您使用SQLSTATE的錯誤代碼時,會發生1193錯誤。

Message: Unknown system variable %s 

而且,正如您在同一頁面上看到的,未定義SQLSTATE 99003。

參考以下鏈接:

http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

+0

#1193 - 未知的系統變量'slow_query_log' – John

+0

上面的錯誤是顯示,而「set global slow_query_log ='ON';」命令通過phpmyadmin執行 – John

+0

@John,看看我的更新:1回答。 – jmail