mysql相關日誌匯總,mysql日誌匯總

來源:互聯網
上載者:User

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 的設定檔為 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 --是指執行超過多久的sql會被log下來,這裡是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"


大家可以更具自己的實際需要添加自己想要的日誌,以便自己做分析使用


對於Mysql資料庫日誌的問題

這個開啟日誌,很占空間的,你是win系統,還是linux呢?
 
mysql日誌問題

你是想開啟mysql的滿日誌吧

mysql有一個功能就是可以log下來啟動並執行比較慢的sql語句,預設是沒有這個log的

開啟 my.ini ,找到 [mysqld] 在其下面添加

long_query_time = 2

log-slow-queries = log=E:/wamp/logs/mysql-log.log #設定把日誌寫在那裡,可以為空白,系統會給一個預設的檔案

#log-slow-queries = /var/youpath/slow.log linux下host_name-slow.log

注意目錄的許可權要可寫。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.