溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL錯(cuò)誤日志與通用查詢實(shí)例分析

發(fā)布時(shí)間:2022-02-22 10:49:56 來源:億速云 閱讀:107 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“MySQL錯(cuò)誤日志與通用查詢實(shí)例分析”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“MySQL錯(cuò)誤日志與通用查詢實(shí)例分析”文章能幫助大家解決問題。

MySQL日志文件系統(tǒng)的組成

   a、錯(cuò)誤日志:記錄啟動(dòng)、運(yùn)行或停止mysqld時(shí)出現(xiàn)的問題。

   b、通用日志:記錄建立的客戶端連接和執(zhí)行的語句。

   c、更新日志:記錄更改數(shù)據(jù)的語句。該日志在MySQL 5.1中已不再使用。

   d、二進(jìn)制日志:記錄所有更改數(shù)據(jù)的語句。還用于復(fù)制。

   e、慢查詢?nèi)罩荆河涗浰袌?zhí)行時(shí)間超過long_query_time秒的所有查詢或不使用索引的查詢。

   f、Innodb日志:innodb redo log

啟動(dòng)錯(cuò)誤日志

  • 在不同情況下,錯(cuò)誤日志會(huì)記錄在不同的位置。如果沒有在配置文件中指定文件名,則文件名默認(rèn)為hostname.err。

  • 在MySQL5.6的RPM發(fā)布方式中,錯(cuò)誤日志默認(rèn)被放置在/var/log/mysqld.log。

  • 可以通過my.cnf文件進(jìn)行配置:

 [mysqld_safe]
 log-error=/var/log/mysqld.log

使用vi /etc/my.cnf打開配置文件

MySQL錯(cuò)誤日志與通用查詢實(shí)例分析

Note:修改參數(shù)文件后重啟MySQl服務(wù)才能使修改生效。

查看錯(cuò)誤日志

MySQL的錯(cuò)誤日志是以文本形式存儲(chǔ)的。可以使用各種文本相關(guān)命令直接查看。

perror命令可用于查詢錯(cuò)誤代碼的含義。例如:

perror 1006

使用tail -n 15 /var/log/mysqld.log查看錯(cuò)誤日志

需要關(guān)注日志產(chǎn)生的時(shí)間和級(jí)別,通常日志級(jí)別分為以下幾種:

debug、info、note、warning、error、critical

MySQL錯(cuò)誤日志與通用查詢實(shí)例分析

刪除錯(cuò)誤日志

錯(cuò)誤日志可能會(huì)不斷的增長(zhǎng)。因此有必要周期性的維護(hù)。

推薦的刪除方法:

#echo > /var/log/mysqld.log

通用查詢?nèi)罩?/h3>

記錄MySQL執(zhí)行過的查詢

開啟通用查詢?nèi)罩?/p>

MySQL的通用查詢?nèi)罩灸J(rèn)情況下是不開啟的。

當(dāng)需要進(jìn)行采樣分析時(shí)手工開啟。

建議使用方法1,因?yàn)椴⒉恍枰志没脑O(shè)置,而且修改配置文件需要重啟MySQL服務(wù)

開啟方法1:SET GLOBAL general_log=1;
關(guān)閉:SET GLOBAL general_log=0;
開啟方法2:編輯配置文件 /etc/my.cnf
[mysqld]
general-log-file[=path/[filename]]
general-log=1

MySQL錯(cuò)誤日志與通用查詢實(shí)例分析

Note:如果沒有指定通用查詢?nèi)罩疚募4娴奈恢煤臀募麜r(shí),默認(rèn)放在MySQl數(shù)據(jù)文件目錄中即/var/lib/mysql,文件名為主機(jī)名.log。

刪除通用查詢?nèi)罩?/h3>

通用查詢?nèi)罩究赡軙?huì)不斷的增長(zhǎng)。通常是做采樣分析時(shí)才開啟。不用的通用查詢?nèi)罩疽浀脛h除。

推薦的刪除方法:

#set global general_log=0;刪除前先關(guān)閉
#rm -rf /var/lib/mysql/hostname.log

通用查詢?nèi)罩镜膫浞?nbsp;

在Linux或Unix中,你可以通過下面的命令重新命名文件

并創(chuàng)建一個(gè)新文件:

   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中,服務(wù)器打開日志文件期間不能重新命名日志文件。必須先停止服務(wù)器然后重新命名日志文件。然后重啟服務(wù)器來創(chuàng)建新日志文件。

關(guān)于“MySQL錯(cuò)誤日志與通用查詢實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)
AI