Mysql數(shù)據(jù)庫(kù)怎么管理日志

MySQL數(shù)據(jù)庫(kù)怎么管理日志?針對(duì)這個(gè)問題,今天小編總結(jié)這篇有關(guān)日志管理的文章,可供感興趣的小伙伴們參考借鑒,希望對(duì)大家有所幫助

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、宏偉網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為宏偉等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

 一般成熟的軟件,都會(huì)有自己的日志文件。通過這些日志來(lái)快速定位問題。在Mysql中,日志分為以下幾類:

  • 慢查詢?nèi)罩?,?dāng)sql的執(zhí)行時(shí)間超過設(shè)定值時(shí),便會(huì)記錄

  • 錯(cuò)誤日志,mysql啟動(dòng)、停止或運(yùn)行時(shí)發(fā)生錯(cuò)誤時(shí),會(huì)記錄到錯(cuò)誤日志里

  • 二進(jìn)制日志,該日志記錄那些改變數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí)的sql語(yǔ)句,通過他,我們可以來(lái)恢復(fù)Mysql數(shù)據(jù)

  • 查詢?nèi)罩荆?dāng)開啟時(shí),會(huì)記錄查詢SQL。

錯(cuò)誤日志

錯(cuò)誤日志寫記錄Mysql啟動(dòng)、停止時(shí)出現(xiàn)的問題,另外也記錄Mysql在運(yùn)行中發(fā)生的重大問題??梢允褂胹how variables like 'log_err%';查看錯(cuò)誤日志文件的位置。

mysql> show variables like 'log_err%';
+---------------------+-------------------------------+
| Variable_name       | Value                         |
+---------------------+-------------------------------+
| log_error           | ./iZbp171edtq2kx5iy0xufeZ.err |
| log_error_verbosity | 3                             |
+---------------------+-------------------------------+
2 rows in set (0.01 sec)

錯(cuò)誤日志,默認(rèn)使用主機(jī)名作為文件名,以err作為后綴名,存放在mysql目錄下的/var目錄中。如果我們想修改的話,可以修改配置文件log_error項(xiàng)??梢允褂孟鄬?duì)路徑或絕對(duì)路徑,使用相對(duì)路徑的話只會(huì)修改錯(cuò)誤日志文件名,而使用絕對(duì)路徑則可以修改錯(cuò)誤日志存放的位置。

錯(cuò)誤日志的查看也非常簡(jiǎn)單,直接使用cat或vim來(lái)查看即可。

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

通用查詢?nèi)罩緯?huì)記錄用戶所有的操作,所以一般占用空間較大,日常運(yùn)維中一般都不會(huì)開啟,并且默認(rèn)情況也是關(guān)閉該日志的。如想開啟的話,則可以在配置文件中加入log選項(xiàng)。

慢查詢?nèi)罩?/strong>

慢查詢是一個(gè)非常好的排查SQL問題工具,很多情況下,都是我們的sql導(dǎo)致系統(tǒng)運(yùn)行不暢。筆者以前犯過這個(gè)錯(cuò)誤,使用的一條非常復(fù)雜的查詢語(yǔ)句,系統(tǒng)剛上不舊就502了。前段時(shí)間,發(fā)現(xiàn)公司的老項(xiàng)目也是出現(xiàn)了相應(yīng)的問題,該項(xiàng)目使用的dedecms,當(dāng)數(shù)據(jù)量達(dá)到一定程度,就會(huì)出現(xiàn)大量的慢查詢,然后整個(gè)系統(tǒng)的cpu就跑滿了。所以,我們要經(jīng)常查看慢查詢?nèi)罩?,找過sql的問題所在。

慢查詢配置項(xiàng)

  • slow-query-log={0|off|1|on}  是否開啟慢查詢?nèi)罩竟δ?/p>

  • slow-query-time=10 設(shè)定的閥值,單位為秒,支持浮點(diǎn)數(shù)。當(dāng)sql的執(zhí)行時(shí)間超過該值,就會(huì)記錄在慢查詢?nèi)罩局?。如果設(shè)置為0,則會(huì)記錄所有查詢

  • slow_query_log_file=/mydata/data/hostname-slow.log 慢查詢?nèi)罩敬娣诺奈恢眉拔募?/p>

  • log_queries_not_using_indexes=OFF 該項(xiàng)表示沒有使用索引的查詢也會(huì)記錄到慢查詢?nèi)罩局腥ァ?/p>

案例

現(xiàn)在,我將自己的mysql的慢查詢?nèi)罩敬蜷_,并且將時(shí)間設(shè)置為0,記錄所有的SQL。然后來(lái)帶大伙看看慢查詢?nèi)罩臼窃鯓拥摹?/p>

Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
# Time: 2020-05-31T12:00:01.895700Z
# User@Host: blog[blog] @ localhost []  Id:     3
# Query_time: 0.000170  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0
use blog;
SET timestamp=1590926401;
SET NAMES utf8mb4;
# Time: 2020-05-31T12:00:01.902684Z
# User@Host: blog[blog] @ localhost []  Id:     3
# Query_time: 0.006914  Lock_time: 0.006529 Rows_sent: 0  Rows_examined: 120
SET timestamp=1590926401;
SELECT * FROM knowledge 
            WHERE is_delete=0 AND star < 5 AND show_time <= 1590854400   ORDER BY  show_time ASC 
            LIMIT 1;

我們主要看Query_time行

  • Query_time:查詢時(shí)間

  • Lock_time:鎖表時(shí)間

  • Rows_sent:獲取的數(shù)據(jù)行

  • Rows_examined:掃描的數(shù)據(jù)行

關(guān)于MySQL的日志管理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

本文題目:Mysql數(shù)據(jù)庫(kù)怎么管理日志
文章網(wǎng)址:http://bm7419.com/article30/pcedpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT軟件開發(fā)、網(wǎng)站收錄企業(yè)建站、響應(yīng)式網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)