十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
MySQL 邏輯系統(tǒng)架構: 可以分為連接器,連接池,Sql接口,解釋器,優(yōu)化庫,緩沖區(qū),緩存,引擎
MySQL邏輯結構刻意看成二層架構,
第一層通常叫做SQL Layer 在數(shù)據(jù)庫系統(tǒng)處理底層數(shù)據(jù) 包括權限判斷,SQL解析執(zhí)行計劃優(yōu)化,query chche的出理等等
第二層就是存儲引擎 ,通常叫做 storageEngine Layer 也就是底層數(shù)據(jù)存取操作的實現(xiàn)部分
有多種存儲引擎共同組成
MySQL存儲引擎介紹:
MySQL在5.1之前的版本中,存儲引擎是需要在MySQL安裝的時候就必須和MySQL一起被編譯并同時被開始安裝的,
在5.1.開始 MySQL AB對其結構體系做了較大的改變,并引入了一個新的概念,“插件式存儲引擎體系結構”,讓存儲引擎層和SQL layer 各自更為獨立,耦合更小,甚至可以做大在線加載新的存儲引擎,而不影響MySQL的正常運行
MySQL的插件式存儲引擎只要包括 MyISAM,Innodb,NDB,Cluster,Maria,Falcon,Memory,Archive等,其中MyISAM,Innodb最為應用廣泛。
MyISAM存儲引擎介紹
1.MySQL5.1.之前默認存儲引擎
2 MyIsam存儲引擎的表在數(shù)據(jù)庫中,每一表都被存放在 三個以表名命名的物理文件
存放表結構定義信息的.frm文件
存放表的數(shù)據(jù).MYD
存放表的索引.MYI(不管這個表有多少索引,都是存放在同一個.myi文件中)
3 MyISAM支持以下三種類型的索引:
B-Tree索引 就是所有的索引節(jié)點都按照balance tree得數(shù)據(jù)結構來存儲,所有的索引數(shù)據(jù)節(jié)點都在葉節(jié)點上
R-Tree索引 索引的存儲方式和B-Tree有些區(qū)別,主要設計用于為存儲空間和多維數(shù)據(jù)的字段做索引
Full_text 全文索引 他的存儲結構也是B-Tree ,主要是為了解決在我們需要用LIKE查詢的低效問題
4 不支持事務
5 只有表鎖
6 如下情況會造成表損壞:
mysqld正在寫入該表,被KILL掉
主機宕機
磁盤硬件故障
MyIsam存儲引擎的bug
Innodb 存儲引擎介紹:
1 對事務的支持
2 鎖定機制改變: 實現(xiàn)了行鎖
3 實現(xiàn)外鍵
4 Innodb 存儲引擎 也有.frm文件,但是表數(shù)據(jù)和索引數(shù)據(jù)是存放在一起的,每個表單獨放還是所有表存放由用戶決定。
MySQL自帶工具使用介紹
MySQL命令 語法格式: MySQL [options] [database]
1 mysql -e (--execute=name)這個參數(shù)可以不通過MySQL登錄MySQLserver而執(zhí)行命令 在寫一些基本腳本非常有用
列子: MySQL -u root -p123456 -e "show status like '%binlog_cache%'"
2 MySQL -E (--vertical) MySQL -E -u root -p 登錄后 所有查詢結果都將以縱列顯示
3 MySQL -H 或 MySQL -X 啟用后select出來的的結果都會按照HTML于xml的格式輸出
4 --prompt=name 主要功能是定自己的MySQL提示符的顯示內容 可以通過配置顯示登入的主機地址,用戶名,當前時間,當前數(shù)據(jù)庫
PS: 強烈推薦提示符定義 "\u@\h:\d、、r:\m:\s>"
5 --tee=name 用來告訴MySQL 將所有的輸入和輸出都記錄在文件內容 可以寫在my.cnf中
[client]
tee = /tmp/client_mysql.log
在網(wǎng)站建設、成都做網(wǎng)站中從網(wǎng)站色彩、結構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設十載了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。