共計 2157 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要講解了“mysql 日志結構是怎樣的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“mysql 日志結構是怎樣的”吧!
一.Mysql 錯誤日志
/home/mysql3306/logs/mysql-error.log
如果數據庫出現故障,error 日志,是第一個需要查詢的日志
刪除錯誤日志
MySQL 的日志文件(錯誤日志)
5.5.7 版本時,flush logs 會將 filename.err 命名為 filename.err_old
5.5.7 版本則只是會重建錯誤日志,也就是除非錯誤日志被刪除了會 重建一個;
否則不會對線上錯誤日志有影響。
注意: 刪除錯誤日志后,不會自動重建。需要 flush logs 或者重啟數 據庫。
mysqladmin -u root -p flush-logs
或者
mysql flush logs;
二.Mysql general 日志
記錄所有執行過的語句,但是開啟后對于數據庫服務器的壓力影響比較嚴重. 不太建議搭建日常開啟該日志, 在某些情況下, 比如統計匯總 SQL,審計可以考慮暫時性的開啟 general log,否則容易出現問題.
相關參數:
mysql show variables like %general%
+——————+————————————–+
| Variable_name | Value |
+——————+————————————–+
| general_log | OFF |
| general_log_file | /home/mysql3306/mysql3306/mysql5.log |
+——————+————————————–+
三.Mysql slow 日志
記錄執行超過時間閾值的 SQL 語句, 用來判定執行比較慢的 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:# 設定每分鐘記錄到日志的未使用索引的語句數目,超過這個數目后只記錄語句數量和花費的總時間
min_examined_row_limit: 要檢查的行數大于等于 N 時 才記錄為慢查詢,前提是必須滿足 long_query_time 和 log-queries-not-using-indexes 約束。
log_slow_admin_statements: 管理語句是否記錄
log_slow_slave_statements: 從庫的語句執行是否記錄
– mysqldumpslow 工具
-s, 是表示按照何種方式排序,c、t、l、r 分別是按照記錄次數、時間、查詢時間、返回 的記錄數來排序,
ac、at、al、ar,表示相應的倒敘;
-t, 是 top n 的意思,即為返回前面多少條的數據;
-g, 后邊可以寫一個正則匹配模式,大小寫不敏感的;
比如:
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回記錄集最多的 10 個查詢。
/path/mysqldumpslow -s t -t 10 -g“left join”/database/mysql/slow-log
得到按照時間排序的前 10 條里面含有左連接的查詢語句。
感謝各位的閱讀,以上就是“mysql 日志結構是怎樣的”的內容了,經過本文的學習后,相信大家對 mysql 日志結構是怎樣的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!