Mysql體系結構管理
阿新 • • 發佈:2020-12-02
1.客戶端與服務端模型
1)資料是一個典型的C/S結構的服務
1.mysql自帶的客戶端工具
mysql
mysqladmin
mysqldump
3.mysql是一個二進位制程式,後臺守護程序
單程序
多執行緒
2)mysql的連線方式
1.TCP/IP連線 2.socket連線 #tcp/ip連線 mysql -uroot -p -h127.0.0.1 mysql -uroot -p -h127.0.0.1 -S /tmp/mysql.sock #socket連線 mysql -uroot -p -hlocalhost mysql -uroot -p #注意: 1)不一定-h就是TCP/IP連線,如果是localhosts就是socket連線 2)socket連線比TCP/IP連線快,TCP/IP連線需要經過三次握手,四次揮手,慢 3)socket連線只能本地連線,遠端不能使用
2.MySQL服務構成
1)什麼是例項
1.MySQL的後臺程序 + 執行緒 + 預分配的記憶體空間
2.MySQL在啟動的過程中會啟動後臺守護程序,並生成工作執行緒,預分配記憶體結構供MySQL處理資料使用。
預分配記憶體,比如分配了8G給資料庫,那麼資料庫啟動的時候就佔用8G的記憶體空間,但是超過了的佔用記憶體的也不會被開啟。
2.MySQL服務程式構成
1)連線層
1.驗證使用者身份,判斷使用者名稱和密碼
2.提供兩種連線方式
- sockect 連線
- TCP/IP 連線
3.與SQL層建立互動的執行緒
2)sql層
1.接收連線層傳過來的資料 2.判斷sql語句的語法 3.判斷SQL語句的語義 4.解析器:解析sql語句,生成執行計劃 5.優化器:選出執行計劃中最優的計劃 6.執行器:解析sql語句,生成執行計劃 6.1 與儲存引擎層建立互動 6.2 將優化後要執行的SQL發給儲存引擎層 7.記錄快取,如果前端有redis,將資料快取至redis 8.記錄日誌
3)儲存引擎層
1.與sql層建立互動,接收SQL層傳來的SQL語句
2.與磁碟進行互動,獲取資料,將資料返回給sql層