MySQL中關于日志設置以及查看的方法介紹

這篇文章主要介紹了mysql日志設置及查看方法,需要的朋友可以參考下

MySQL有以下幾種日志:
錯誤日志: -log-err
mysql日志: -log
慢查詢日志: -log-slow-queries
mysqlmysql日志: -log-update
二進制日志: -log-bin
默認情況下,所有日志創(chuàng)建于mysqld數(shù)據(jù)目錄中。通過刷新日志,你可以強制 mysqld來關閉和重新打開日志文件(或者在某些情況下切換到一個新的日志)。當你執(zhí)行一個mysql LOGS語句或執(zhí)行mysqladmin flush-logs或mysqladmin refresh時,出現(xiàn)日志刷新

1. 錯誤日志
用–log- error[=mysql_name]選項來指定mysqld保存錯誤日志文件的位置。如果沒有給定file_name值,mysqld使用錯誤日志名 host_name.err 并在數(shù)據(jù)目錄中寫入日志文件。如果你執(zhí)行FLUSH LOGS,錯誤日志用-old重新命名后綴并且mysqld創(chuàng)建一個新的空日志文件。(如果未給出–log-error選項,則不會重新命名)。
如果不指定–log-error,或者(在Windows中)如果你使用–console選項,錯誤被寫入標準錯誤輸出stderr。通常標準輸出為你的終端。

2. 通用查詢日志???????????????????????????????????????????????????????????
用–log[=file_name]或-l [file_name]選項啟動它。如果沒有給定file_name的值,默認名是host_name.log。

3. 慢速查詢日志???????????????????????????????????????????????????????????
用–log-slow-queries[=file_name]選項啟動時,mysqld 寫一個包含所有執(zhí)行時間超過long_query_mysql秒的sql語句的日志文件.如果沒有給出file_name值,默認未主機名,后綴為 -slow.log。如果給出了文件名,但不是絕對路徑名,文件則寫入數(shù)據(jù)目錄。

3. 更新日志?????????????????????????????????????????????????????????????
用–log-update[=file_name]選項啟動,不推薦使用.

是否啟用了日志
mysql>show variables like ‘log_%’;
怎樣知道當前的日志
mysql> show master status;
顯示二進制日志數(shù)目
mysql> show master logs;
看二進制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000mysql
或者shell>mysqlbinlog mail-bin.000001 | tail

mysql中指定log的輸出位置.
Windows:Windows 的配置文件為 my.ini,一般在 MySQL 的mysql目錄下或者 c:Windows 下。
mysql:Linux 的配置文件為 my.cnf ,一般在 /etc 下。
在linux下:
Sql代碼

#?在[mysqld]?中輸入  #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  #?在[mysqld]?中輸入?#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代碼  #?在[mysqld]?中輸入  #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"  #?在[mysqld]?中輸入?#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?--是指執(zhí)行超過多久的sql會被log下來,這里是2秒  log-slow-queries=?/usr/local/mysql/log/slowquery.log?--將查詢返回較慢的語句進行記錄  log-queries-not-using-indexes?=?nouseindex.log?--就是字面意思,log下來沒有使用  索引  的query  log=mylog.log?--對所有執(zhí)行語句進行記錄  windows下開啟mysql日志:  在[mysql]下加入這些(基本上等于加在最后面):  log-error=  #Enter?a?name?  for  ?the?query?log?file.?Otherwise?a?default?name?will?be?used.  #注:(寫成txt文件editplus可以及時  重載  ,不過有時要放在C盤下editplus才可以及時重載)  log=?c:/  mysql_query  .log.txt  #Enter?a?name?for?the?slow?query?log?file.?Otherwise?a?default?name?will?be?used.  log-slow-queries=  #Enter?a?name?for?the?update?log?file.?Otherwise?a?default?name?will?be?used.  log-update=  #Enter?a?name?for?the?binary?log.?Otherwise?a?default?name?will?be?used.  log-bin=

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享