新聞中心
錯誤日志(Error Log)是 MySQL 中最常用的一種日志,主要記錄 MySQL 服務(wù)器啟動和停止過程中的信息、服務(wù)器在運行過程中發(fā)生的故障和異常情況等。

創(chuàng)新互聯(lián)建站長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為睢陽企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè),睢陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
作為初學者,要學會利用錯誤日志來定位問題。下面介紹如何操作查看錯誤日志。
啟動和設(shè)置錯誤日志
在 MySQL 數(shù)據(jù)庫中,默認開啟錯誤日志功能。一般情況下,錯誤日志存儲在 MySQL 數(shù)據(jù)庫的數(shù)據(jù)文件夾下,通常名稱為 hostname.err。其中,hostname 表示 MySQL 服務(wù)器的主機名。
在 MySQL 配置文件中,錯誤日志所記錄的信息可以通過 log-error 和 log-warnings 來定義,其中,log-err 定義是否啟用錯誤日志功能和錯誤日志的存儲位置,log-warnings 定義是否將警告信息也記錄到錯誤日志中。
將 log_error 選項加入到 MySQL 配置文件的 [mysqld] 組中,形式如下:
[mysqld]
log-error=dir/{filename}
其中,dir 參數(shù)指定錯誤日志的存儲路徑;filename 參數(shù)指定錯誤日志的文件名;省略參數(shù)時文件名默認為主機名,存放在 Data 目錄中。
重啟 MySQL 服務(wù)后,參數(shù)開始生效,可以在指定路徑下看到 filename.err 的文件,如果沒有指定 filename,那么錯誤日志將直接默認為 hostname.err。
注意:錯誤日志中記錄的并非全是錯誤信息,例如 MySQL 如何啟動 InnoDB 的表空間文件、如何初始化自己的存儲引擎等,這些也記錄在錯誤日志文件中。
查看錯誤日志
錯誤日志中記錄著開啟和關(guān)閉 MySQL 服務(wù)的時間,以及服務(wù)運行過程中出現(xiàn)哪些異常等信息。如果 MySQL 服務(wù)出現(xiàn)異常,可以到錯誤日志中查找原因。
在 MySQL 中,通過 SHOW 命令可以查看錯誤日志文件所在的目錄及文件名信息。
mysql> SHOW VARIABLES LIKE 'log_error'; +---------------+----------------------------------------------------------------+ | Variable_name | Value | +---------------+----------------------------------------------------------------+ | log_error | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.err | +---------------+----------------------------------------------------------------+ 1 row in set, 1 warning (0.04 sec)
錯誤日志以文本文件的形式存儲,直接使用普通文本工具就可以查看。這里通過記事本打開,從上面可以知道錯誤日志的文件名。該文件在默認的數(shù)據(jù)路徑“C:\ProgramData\MySQL\MySQL Server 5.7\Data\”下,打開 LAPTOP-UHQ6V8KP.err 文件,部分內(nèi)容如下:
190906 22:06:45 InnoDB: Completed initialization of buffer pool
190906 22:06:45 InnoDB: highest supported file format is Barracuda.
190906 22:06:45 InnoDB: Waiting for the background threads to start
190906 22:06:46 InnoDB: 5.7.29 started; log sequence number 1605345
190906 22:06:47 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190906 22:06:47 [Note] - '0.0.0.0' resolves to '0.0.0.0';
190906 22:06:47 [Note] Server socket created on IP: '0.0.0.0'.
190906 22:06:47 [Note] Event Scheduler: Loaded 0 events
190906 22:06:47 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.7.29-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)
以上是錯誤日志文件的一部分,主要記載了系統(tǒng)的一些運行錯誤。
刪除錯誤日志
在 MySQL 中,可以使用 mysqladmin 命令來開啟新的錯誤日志,以保證 MySQL 服務(wù)器上的硬盤空間。mysqladmin 命令的語法如下:
mysqladmin -uroot -p flush-logs
執(zhí)行該命令后,MySQL 服務(wù)器首先會自動創(chuàng)建一個新的錯誤日志,然后將舊的錯誤日志更名為 filename.err-old。
MySQL 服務(wù)器發(fā)生異常時,管理員可以在錯誤日志中找到發(fā)生異常的時間、原因,然后根據(jù)這些信息來解決異常。對于很久之前的錯誤日志,查看的可能性不大,可以直接將這些錯誤日志刪除。
本文名稱:創(chuàng)新互聯(lián)數(shù)據(jù)庫教程:MySQL錯誤日志(ErrorLog)詳解
URL網(wǎng)址:http://fisionsoft.com.cn/article/codccgp.html


咨詢
建站咨詢
