xieye 发表于 2013-1-31 12:56:20

mysql慢查询日志(转载文章)

http://blog.csdn.net/iori97king/archive/2010/09/23/5901632.aspx

转载MYSQL启用日志,和查看日志 收藏

mysql有以下几种日志:
   错误日志:   -log-err
   查询日志:   -log
   慢查询日志:   -log-slow-queries
   更新日志:   -log-update
   二进制日志: -log-bin


是否启用了日志
mysql>show variables like 'log_%';

怎样知道当前的日志
mysql> show master status;

顯示二進制日志數目
mysql> show master logs;

看二进制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001
或者shell>mysqlbinlog mail-bin.000001 | tail

在配置文件中指定log的輸出位置.
Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。

在linux下:
Sql代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://wasabi.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://wasabi.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%23%20%E5%9C%A8%5Bmysqld%5D%20%E4%B8%AD%E8%BC%B8%E5%85%A5%0A%23log%0Alog-error%3D%2Fusr%2Flocal%2Fmysql%2Flog%2Ferror.log%0Alog%3D%2Fusr%2Flocal%2Fmysql%2Flog%2Fmysql.log%0Along_query_time%3D2%0Alog-slow-queries%3D%20%2Fusr%2Flocal%2Fmysql%2Flog%2Fslowquery.log%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" height="15">

   1. # 在 中輸入
   2. #log
   3. log-error=/usr/local /mysql/log/error.log
   4. log=/usr/local /mysql/log/mysql.log
   5. long_query_time=2
   6. log-slow-queries= /usr/local /mysql/log/slowquery.log

# 在 中輸入
#log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log



windows下:
Sql代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://wasabi.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://wasabi.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%23%20%E5%9C%A8%5Bmysqld%5D%20%E4%B8%AD%E8%BC%B8%E5%85%A5%0A%23log%0Alog-error%3D%22E%3A%2FPROGRA~1%2FEASYPH~1.0B1%2Fmysql%2Flogs%2Ferror.log%22%0Alog%3D%22E%3A%2FPROGRA~1%2FEASYPH~1.0B1%2Fmysql%2Flogs%2Fmysql.log%22%0Along_query_time%3D2%0Alog-slow-queries%3D%20%22E%3A%2FPROGRA~1%2FEASYPH~1.0B1%2Fmysql%2Flogs%2Fslowquery.log%22%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" height="15">

   1. # 在 中輸入
   2. #log
   3. log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"   
   4. log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"   
   5. long_query_time=2
   6. log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"   

# 在 中輸入
#log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"



开启慢查询
long_query_time =2--是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log--将查询返回较慢的语句进行记录

log-queries-not-using-indexes = nouseindex.log--就是字面意思,log下来没有使用索引的query

From http://wasabi.iteye.com/blog/318962
页: [1]
查看完整版本: mysql慢查询日志(转载文章)