MYSQL性能调优及架构设计学习笔记-基础篇MYSQL架构组成
為什么80%的碼農都做不了架構師?>>> ??
目錄
小結
MYSQL物理文件組成
MYSQL系統架構
MYSQL自帶工具使用介紹
?
小結
本章主要從邏輯層與物理層兩個方面介紹了MYSQL軟件本身及數據存儲的架構,同時還包括了部分重要的客戶端工具的功能介紹。
通過對架構的了解,可以對MYSQL有一個更為宏觀的認識。
?
MYSQL物理文件組成
1.???????日志文件
1)??錯誤日志: Error Log
記錄MYSQL運行過程所有較為嚴重的警告和錯誤信息,以及MYSQL每次啟動和關閉的詳細信息。
默認是關閉的,啟動是開啟 –log-error[=file_name]選項
2)??二進制日志:Binary Log & Binary Log index
記錄MYSQL所有修改數據庫數據的Query,以二進制形式記錄在該日志文件中(常說的binlog)。還包括每一條Query所執行的時間,所消耗的資源,以及相關的事務信息,所以binlog是事務安全。
啟動: --log-bin[=file_name]
3)??更新日志:Update Log
MYSQL 5.0開始不在支持更新日志
4)??查詢日志:Query Log
記錄所有的Query,包括所有的select,體積比較大,開啟后對性能有較大影響,一般只在跟蹤某些特殊的Query性能問題時才會短暫打開該功能。
開啟: -log[=file_name]
5)??慢查詢日志:Slow query Log
記錄執行時間較長的Query,也就是常說的Slow Query
開啟:--log-slow-queries[=file_name]
6)??InonoDB在線Redo日志: InonoDB redo Log
記錄InnoDB所做的所有物理變更和事務信息,通過Redo日志和Undo信息,InonoDB保證了在任何情況下的事務安全性。
2.???????數據文件
1)????????.frm文件
與表相關的元數據(meta)信息都存放在該文件中,不論是什么存儲引擎,每個表都有會有一個以表名命名的.frm文件。
2)????????.MYD文件
MyISAM存儲引擎專用,存放MyISAM表數據。
3)????????.MYI文件
MyISAM存儲引擎專用,存放MyISAM表索引相關信息。
4)????????.ibd文件和ibdata文件
InnoDB存儲引擎專用,其中,獨享表空間存儲方式使用.ibd文件存放數據;共享表空間存儲方式使用ibdata文件存放。
3.???????Replication相關文件
1)??master.info文件;?? 2)relay log和relay log index ; 3)relay-log.info文件
4.???????其他文件
1)??system config file; 2)pid文件;???????????????????????? 3)Socket文件
MYSQL系統架構
2.2.1 邏輯模塊組成
圖2-1 MYSQL 架構示意簡圖
第一層:
SQL Layer,在MYSQL數據庫系統處理底層數據之前的所有工作都在這一層完成的,包括權限判斷,Query解析,執行計劃優化,Query Cache的處理等
第二層:
Storage Engine Layer,底層數據存取操作實現部分,由多種存儲引擎共同組成。
?
2.2.2 各模塊工作配合
圖2-2 MYSQL 模塊間的關系圖
??????????????????????????
MYSQL 自帶工具使用介紹
1)??mysql
2)??mysqladmin
3)??mysqldump
4)??mysqlimport
5)??mysqlbinlog
主要功能是分析MYSQL所產生的二進制日志。
6)??mysqlcheck
可以檢查,修復,分析,優化MYSQL的表。
注:并不是所有的存儲引擎都支持這4項功能,象InnoDB就不支持修復功能
7)??myisamchk
類似mysqlchek –c/-r,可以檢查和修復MyISAM存儲引擎的表,但是只針對MyISAM存儲引擎的索引文件有效
8)??myisampack
對MyISAM表進行壓縮處理,以縮減占用的存儲空間,一般用于歸檔備份的場景下,而且壓縮后的MyISAM表會變成只讀,不能進行任何修改操作。
9)??mysqlhotcopy
轉載于:https://my.oschina.net/stream/blog/30600
總結
以上是生活随笔為你收集整理的MYSQL性能调优及架构设计学习笔记-基础篇MYSQL架构组成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 艾伟也谈项目管理,创业公司技术选型参考
- 下一篇: linux cmake编译源码,linu