Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2783204
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: Mysql/postgreSQL

2012-06-25 11:51:21

本文转载地址:http://blog.permastyle.com/2010/12/mysql-%E5%95%9F%E7%94%A8query-log-%E8%88%87-slow-query-log%E5%8A%9F%E8%83%BD.html

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

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

  1. $vi /etc/my.cnf
  2. 在[mysqld]區塊內設定加入

    [mysqld] log=/var/log/mysqld.general.log
  3. mysql不會自動依設定產生mysqld.general.log,要手動加。
  4. $ touch /var/log/mysqld.general.log
    $ chown mysql.mysql /var/log/mysqld.general.log
  5. 重新啟動mysqld,用瀏覧器連結網站,查看是否有產出log資料
  6. $ /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功能

  1. $ vi /etc/my.cnf
  2. 在[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
  3. mysql不會自動依設定產生mysql-slow.log,要手動加。
  4. $ touch /var/log/mysql-slow.log
    $ chown mysql.mysql /var/log/mysql-slow.log
  5. 重新啟動mysqld,用瀏覧器連結網站,查看是否有產出log資料
  6. $ /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`
阅读(2453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~