這篇文章主要講解了“MySQL日志結(jié)構(gòu)是怎樣的”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql日志結(jié)構(gòu)是怎樣的”吧!
創(chuàng)新互聯(lián)建站專注于津南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供津南營銷型網(wǎng)站建設(shè),津南網(wǎng)站制作、津南網(wǎng)頁設(shè)計、津南網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造津南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供津南網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
一.Mysql錯誤日志
/home/mysql3306/logs/mysql-error.log
如果數(shù)據(jù)庫出現(xiàn)故障,error日志,是第一個需要查詢的日志
刪除錯誤日志
MySQL的日志文件(錯誤日志)
<5.5.7版本時,flush logs會將filename.err命名為filename.err_old
>5.5.7版本則只是會重建錯誤日志,也就是除非錯誤日志被刪除了會 重建一個;
否則不會對線上錯誤日志有影響。
注意:刪除錯誤日志后,不會自動重建。需要flush logs或者重啟數(shù) 據(jù)庫。
mysqladmin -u root -p flush-logs
或者
mysql>flush logs;
二.Mysql general日志
記錄所有執(zhí)行過的語句,但是開啟后對于數(shù)據(jù)庫服務(wù)器的壓力影響比較嚴重.不太建議搭建日常開啟該日志,在某些情況下,比如統(tǒng)計匯總SQL,審計可以考慮暫時性的開啟general log,否則容易出現(xiàn)問題.
相關(guān)參數(shù):
mysql> show variables like '%general%';
+------------------+--------------------------------------+
| Variable_name | Value |
+------------------+--------------------------------------+
| general_log | OFF |
| general_log_file | /home/mysql3306/mysql3306/mysql5.log |
+------------------+--------------------------------------+
三.Mysql slow 日志
記錄執(zhí)行超過時間閾值的SQL語句,用來判定執(zhí)行比較慢的sql
mysql> show variables like '%slow%';
+---------------------------+-------------------------------------+
| Variable_name | Value |
+---------------------------+-------------------------------------+
| log_slow_admin_statements | ON |
| log_slow_slave_statements | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /home/mysql3306/logs/mysql-slow.log |
+---------------------------+-------------------------------------+
點擊(此處)折疊或打開
set global slow_query_log='ON’;
Set global long_query_time=1
log_queries_not_using_indexes:記錄沒有用索引的查詢
log_throttle_queries_not_using_indexes:#設(shè)定每分鐘記錄到日志的未使用索引的語句數(shù)目,超過這個數(shù)目后只記錄語句數(shù)量和花費的總時間
min_examined_row_limit:要檢查的行數(shù)大于等于N時 才記錄為慢查詢,前提是必須滿足long_query_time和 log-queries-not-using-indexes約束。
log_slow_admin_statements:管理語句是否記錄
log_slow_slave_statements:從庫的語句執(zhí)行是否記錄
- mysqldumpslow工具
-s, 是表示按照何種方式排序,c、t、l、r分別是按照記錄次數(shù)、時間、查詢時間、返回 的記錄數(shù)來排序,
ac、at、al、ar,表示相應(yīng)的倒敘;
-t, 是top n的意思,即為返回前面多少條的數(shù)據(jù);
-g, 后邊可以寫一個正則匹配模式,大小寫不敏感的;
比如:
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回記錄集最多的10個查詢。
/path/mysqldumpslow -s t -t 10 -g “l(fā)eft join” /database/mysql/slow-log
得到按照時間排序的前10條里面含有左連接的查詢語句。
感謝各位的閱讀,以上就是“mysql日志結(jié)構(gòu)是怎樣的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mysql日志結(jié)構(gòu)是怎樣的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!