如何快速定位MySQL 的錯誤日志(Error Log)?
日志文件是MySQL數(shù)據(jù)庫的重要組成部分,包括有6種不同的日志文件:
- 錯誤日志: -log-err
- 查詢日志: -log
- 慢查詢日志: -log-slow-queries
- 更新日志: -log-update
- 二進制日志: -log-bin
這些日志可以幫助我們定位 mysqld 內部發(fā)生的事件,數(shù)據(jù)庫性能故障,記錄數(shù)據(jù)的變更歷史,用戶恢復數(shù)據(jù)庫等。本文主要講解錯誤日志文件(Error Log)相關內容。
什么是錯誤日志
錯誤日志記錄了 MySQL Server 每次啟動和關閉的詳細信息以及運行過程中所有較為嚴重的警告和錯誤信息。錯誤日志的命名通常為「hostname.err」。
PS:「hostname」表示服務器主機名。
在實際工作中,我們不僅通過分析MySQL錯誤日志來確定MySQL中的慢SQL,還可以通過它分析得到導致業(yè)務崩潰和其他故障的根本原因。
查看錯誤日志的位置
我們可以用--log-error[=file_name]選項來開啟 mysql 錯誤日志,該選項指定 mysqld保存錯誤日志文件的位置。
對于指定--log-error[=file_name]選項而未給定 file_name 值,mysql 使用錯誤日志名host_name.err 并在數(shù)據(jù)目錄中寫入日志文件。
修改錯誤日志的位置
錯誤日志所記錄的信息也可以通過log-error和log-warnings來定義,其中
- log_error可定義是否啟用錯誤日志的功能和錯誤日志的存儲位置
- log-warnings可定義是否將警告信息也定義至錯誤日志中
可以在啟動MySQL時,指定log_error的值。如下所示:
了解了MySQL錯誤日志位置以及如何修改其位置,下面簡單舉例一個實踐操作的過程:
Linux 系統(tǒng)下打開 MySQL 錯誤日志
1. 進「mysql」安裝目錄
進入「data」目錄(該目錄存儲的是數(shù)據(jù)庫的數(shù)據(jù))。
2. 進入「data」目錄后可發(fā)現(xiàn)有「mysql」、「test」兩個子目錄(由此可看出 MySQL 數(shù)據(jù)存儲是按用戶定義的不同數(shù)據(jù)庫分開存儲的)。
3. 進入「mysql」目錄,文件后綴為.err 的文件是運行的錯誤日志,可以使用 vi 命令打開進行分析。