首頁  >  文章  >  運維  >  MySQL日誌設定及查看方法詳解

MySQL日誌設定及查看方法詳解

小云云
小云云原創
2018-01-24 13:30:445482瀏覽

我們都很熟悉MySQL日誌,本文主要介紹了MySQL日誌設定及查看方法,需要的朋友可以參考下,希望能幫助到大家。

MySQL有以下幾種日誌:
錯誤日誌: -log-err
查詢日誌: -log
慢查詢日誌: -log-slow-queries
更新日誌: -log-update
二進位日誌: -log-bin
預設情況下,所有日誌都會建立於mysqld資料目錄中。透過刷新日誌,你可以強制 mysqld來關閉和重新開啟日誌檔案(或在某些情況下切換到一個新的日誌)。當你執行一個FLUSH LOGS語句或執行mysqladmin flush-logs或mysqladmin refresh時,出現日誌刷新

1.錯誤日誌
用--log- error[=file_name]選項來指定mysqld保存錯誤日誌檔案的位置。如果沒有給定file_name值,mysqld使用錯誤日誌名稱 host_name.err 並在資料目錄中寫入日誌檔案。如果你執行FLUSH LOGS,錯誤日誌用-old重新命名後綴並且mysqld建立一個新的空日誌檔。 (如果未給出--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 寫一個包含所有執行時間超過long_query_time秒的SQL語句的日誌檔.如果沒有給file_name值,預設未主機名,後綴為-slow.log。如果給了檔案名,但不是絕對路徑名,檔案則寫入資料目錄。

#3. 更新日誌                                    
使用--log-update[=file_name]選項啟動,不建議使用.

是否啟用了日誌
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 的設定值

#在設定檔中指定log的輸出位置.##Windows:Windows:Windows 的設定值:Windows:Windows 的設定值檔案為my.ini,一般在MySQL 的安裝目錄下或c:\Windows 下。 Linux: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 --是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query
log=mylog.log --对所有执行语句进行记录
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=

相關推薦:

#MYSQL日誌與備份還原詳解

詳解MySQL日誌系統詳細資料的範例程式碼分享

mysql日誌復原資料方法介紹######

以上是MySQL日誌設定及查看方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn