這是我參與更文挑戰的第27天,活動詳情查看: 更文挑戰mysql
mysql是目前各大公司通用的數據庫。不管在工做時仍是在面試,都會接觸到MySQL涉及到的相關問題。面試
優點:sql
固然,在咱們使用mysql時,會遇到各類問題:死鎖、延遲、字符集錯誤、慢查詢等等。因此,須要深刻學習其原理才能快速定位問題,解決問題。數據庫
MySQL的體系結構圖緩存
MySQL體系結構由4部分組成安全
做用:負責處理客戶端的鏈接請求,與客戶端建立鏈接。markdown
幾乎支持全部的服務端的語言session
插件式的存儲引擎:任何只要定義好與MySQL Server交互的接口,任何引擎均可以訪問MySQL工具
存儲引擎包括MyISAM、InnoDB、支持歸檔的Archive 、內存Memory等post
重點儲存引擎:InnoDB、MyISAM
文件的物理儲存,包括通用查詢日誌、二進制日誌,數據文件,錯誤日誌,慢查詢日誌,全日誌,redo/undo日誌等
錯誤日誌:
show variabes like '%log_error%'
通用查詢日誌:
show variabes like '%general%'
二進制日誌:
記錄MySQL數據量執行插入、修改、刪除的操做,包括SQL語句執行的時間和時長
恢復數據庫的數據和實現MySQL主從複製都經過二進制日誌
show variables like '%log_bin%' //查看是否開啓二進制日誌
show variables like '%binlog%' // 查看二進制日誌參數
show binary logs // 查看日誌文件
複製代碼
慢查詢日誌
記錄了SQL語句執行時間超過指定的時間(默認時間是10s)
show variables like '%slow_query%' //查看是否開啓了慢查詢日誌
show variables like '%long_query_time%' //查詢慢查詢設置時間
複製代碼
數據文件
配置文件