今每天氣又開始變得很熱了,雖然很熱很浮躁,可是不能不學習,我在北京向各位問好。今天給你們分享一點關於數據庫日誌方面的東西,由於日誌不只討厭並且還很重要,在開發中時常免不了與它的親密接觸,就在前幾天公司開發環境中的幾張數據表不知道被誰誤刪了,想看看日誌可是一直沒有過這方面的經歷,因而望門卻步了。html
MySQL數據庫官方文檔:https://dev.mysql.com/doc/refman/5.7/en/server-logs.htmlmysql
1、MySQL日誌分類:日誌文件記錄了影響數據庫的各類類型活動,MySQL數據庫常見的日誌文件分類。sql
2、錯誤日誌詳解:MySQL錯誤日誌是記錄MySQL 運行過程當中較爲嚴重的警告和錯誤信息,以及MySQL每次啓動和關閉的詳細信息。數據庫
【查看MySQL數據庫錯誤日誌存放的位置】函數
3、慢查詢日誌詳解:MySQL慢查詢日誌是MySQL提供的一種日誌記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指SQL語句運行時間超過long_query_time
值的SQL,則會被記錄到慢查詢日誌文件中。long_query_time
的默認值爲10秒,意思是運行10s以上的SQL語句都會被MySQL數據庫記錄到慢日誌文件中去。可是默認狀況下,MySQL數據庫並不啓動慢查詢日誌,須要咱們手動來設置這個參數,固然,若是不是調優須要的話,通常不建議啓動該參數,由於開啓慢查詢日誌會或多或少帶來必定的性能響。慢查詢日誌支持將日誌記錄寫入文件,也支持將日誌記錄寫入數據庫表中,固然,這些狀況你必須得一個一個來手動設置才行。性能
【查看MySQL數據庫默認的閥值時間】學習
【查看MySQL數據庫是否開啓慢查詢日誌記錄,默認是關閉的】測試
【開啓MySQL數據庫慢查詢日誌】優化
【好了,到這兒若是你已經開啓了MySQL數據庫的慢查詢日誌,則能夠查看慢查詢日誌存放的位置】spa
更該慢查詢日誌的存儲方式,由於默認是將慢查詢日誌記錄到文件類型中的,若是你想將這些日誌記錄到數據表中,則能夠經過以下設置。
【查看慢查詢日誌的默認存儲方式】
【改變MySQL數據庫慢查詢日誌的存儲方式爲:TABLE】
好了,走到這步咱們徹底把MySQL數據庫的慢查詢日誌的開啓和一些常見的設置給各位簡單介紹了一下。下面咱們來測試一下慢查詢日誌,由於慢查詢日誌在開發中能夠幫助咱們記錄一些執行時間比較長的SQL語句,咱們能夠經過它來優化哪些檢索語句。這裏我簡單模擬一下慢查詢,使用MySQL數據庫的sleep(N)函數來僞裝讓執行語句停留10秒,最後咱們能夠到記錄慢查詢日誌的數據表中看到這條記錄。
對於日誌這塊的學習,我還在繼續,最後在這兒留點但願吧,"如何在日誌文件中快速的定位和提取有用的信息,還有當執行誤刪庫和表的操做時如何經過日誌恢復"等這些問題我一直在不斷的在學習,若是哪位老哥有這方面的經驗或資料,能夠傳授我一點兒,萬分感激。