對於mysql的日誌還沒有仔細研究過,目前只是使用了乙個通用日誌,所以在這裡先列舉mysql的主要日誌檔案,接下來有時間會去研究一下,畢竟很多時候,日誌可以更精確的定位問題,所以了解一下mysql的日誌系統還是很有必要的。
-- 檢視日誌是否啟用
show variables like
'%log%';
1、mysql日誌檔案系統的組成
a、錯誤日誌:記錄啟動、執行或停止mysqld時出現的問題。
b、通用日誌:記錄建立的客戶端連線和執行的語句。
c、更新日誌:記錄更改資料的語句。該日誌在mysql 5.1中已不再使用。
d、二進位制日誌:記錄所有更改資料的語句。還用於複製。
e、慢查詢日誌:記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。
f、innodb日誌:innodb redo log
預設情況下,所有日誌建立於mysqld資料目錄中。
可以通過重新整理日誌,來強制mysqld來關閉和重新開啟日誌檔案(或者在某些情況下切換到乙個新的日誌)。
當你執行乙個flush logs語句或執行mysqladmin flush-logs或mysqladmin refresh時,則日誌被老化。
對於存在mysql複製的情形下,從復**務器將維護更多日誌檔案,被稱為接替日誌。
2、通用查詢日誌
通用查詢日誌可以存放到乙個文字檔案或者表中,所有連線和語句被記錄到該日誌檔案或表,預設未開啟該日誌。
通過–log[=file_name]或-l [file_name]選項啟動它。如果沒有給定file_name的值, 預設名是host_name.log。
mysqld按照它接收的順序記錄語句到查詢日誌。這可能與執行的順序不同。
不同於更新日誌和二進位制日誌,它們在查詢執行後,但是任何乙個鎖釋放之前記錄日誌。
查詢日誌包含所有語句,而二進位制日誌不包含只查詢資料的語句。
伺服器重新啟動和日誌重新整理不會產生新的一般查詢日誌檔案。
3、通用查詢日誌的系統變數
log_output=[none|file|table|file,table] #通用查詢日誌輸出格式
general_log=[on|off] #是否啟用通用查詢日誌
general_log_file[=filename] #通用查詢日誌位置及名字
4、通用查詢日誌的備份
在linux或unix中,你可以通過下面的命令重新命名檔案
並建立乙個新檔案:
shell> mv hostname.log hostname-old.log
shell> mysqladmin flush-logs
shell> cp hostname-old.log to-backup-directory
shell> rm hostname-old.log
在windows中,伺服器開啟日誌檔案期間不能重新命名日誌檔案。必須先停止伺服器然後重新命名日誌檔案。然後重啟伺服器來建立新日誌檔案。
Mysql日誌相關
在 mysql 中也稱為通用日誌 general log 查詢日誌裡面記錄了資料庫執行的所有命令,不管語句是否正確,都會被記錄,原因如下 查詢日誌的開啟有助於幫助我們分析哪些語句執行密集,執行密集的 select 語句對應的資料是否能夠被快取,同時也可以幫助我們分析問題,但是在併發操作非常多的場景下...
MySQL 日誌相關
2.redo log 和 binlog 有什麼區別?3.什麼是 crash safe?4.什麼是髒頁和乾淨頁?5.什麼情況下會引發 mysql 刷髒頁 flush 的操作?6.mysql 刷髒頁的速度很慢可能是什麼原因?7.如何控制 mysql 只重新整理當前髒頁?8.mysql 的 wal 技術是...
MySQL相關日誌介紹
錯誤日誌 log error 查詢日誌 query log 二進位制日誌 binary log 2.相關日誌的作用 1 錯誤日誌 error log 記錄mysql服務程序mysql在啟動 關閉或者執行過程中遇到的錯誤訊息.是工作中排查錯誤的重要工具.2 查詢日誌 query log 1 普通查詢日...