茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672994 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00149.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2016/5/12 8:11:12
[MySQL] 啟用query log 與 slow query log功能

以下範例試用在Centos 5.x,MySQL 5.0環境下

啟用query log功能
以drupal的資料庫連結多,開啟此功能,可預期query log檔案很快就變會很大,建議debug問題時才開啟。
    $vi /etc/my.cnf

在[mysqld]區塊內設定加入
    [mysqld]
    log=/var/log/mysqld.general.log

mysql不會自動依設定產生mysqld.general.log,要手動加。
    $ touch /var/log/mysqld.general.log
    $ chown mysql.mysql /var/log/mysqld.general.log

重新啟動mysqld,用瀏覧器連結網站,查看是否有產出log資料
    $ /etc/init.d/mysqld restart
    $ tail -f /var/log/mysqld.general.log

log資料
     2 Query       SELECT * FROM languages ORDER BY weight ASC, name ASC
     2 Query       SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables:zh-hant'
     2 Query       SELECT COUNT(pid) FROM url_alias
     2 Query       SELECT src FROM url_alias WHERE dst = 'node' AND language IN('zh-hant', '') ORDER BY language DESC, pid DESC


啟用slow query log功能
    $ vi /etc/my.cnf

在[mysqld]區塊內設定加入
5.0版
    [mysqld]
    // 單位是秒,預設是10秒,最小值是1
    log-slow-queries = 5
    log-slow-queries = /var/log/mysql-slow.log
    log-long-format

5.1.29版後
    [mysqld]
    slow_query_log
    slow_query_log_file = /var/log/mysql-slow.log
    long_query_time = 5
    log-long-format

mysql不會自動依設定產生mysql-slow.log,要手動加。
    $ touch /var/log/mysql-slow.log
    $ chown mysql.mysql /var/log/mysql-slow.log

重新啟動mysqld,用瀏覧器連結網站,查看是否有產出log資料
    $ /etc/init.d/mysqld restart
    $ tail -f /var/log/mysql-slow.log

log資料
    # Time: 090317 18:46:59
    # User@Host: root[root] @ localhost []
    # Query_time: 12  Lock_time: 0  Rows_sent: 242515  Rows_examined: 242515
    SELECT * FROM `portal`.`search_index`;

使用mysqldumpslow 指令分析mysql-slow.log,結果是耗費最多時間的slow query依順排出。
// query 7次,每次耗費106.43秒
Count: 7  Time=106.43s (745s)  Lock=0.00s (0s)  Rows=9366.9 (65568), aaa[aaa]@localhost
  SELECT * FROM `aaa`.`vtiger_crmentity`
// query 1次,每次耗費58.00秒
Count: 1  Time=58.00s (58s)  Lock=0.00s (0s)  Rows=51515.0 (51515), aaa[aaa]@localhost
  SELECT * FROM `aaa`.`product_mac2`
Count: 1  Time=42.00s (42s)  Lock=0.00s (0s)  Rows=1000.0 (1000), aaa[aaa]@[215.86.72.122]
  SELECT * FROM aaa.product_mac2 LIMIT N
Count: 6  Time=38.00s (228s)  Lock=0.00s (0s)  Rows=130972.3 (785834), aaa[aaa]@localhost
  SELECT * FROM `aaa`.`vtiger_audit_trial`


原文出處:Allen開放源碼研究室 » [MySQL] 啟用query log 與 slow query log功能
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|