第十八周作業(yè)

1莹妒、總結(jié)mysql常見的存儲引擎以及特點(diǎn)。

存儲引擎:負(fù)責(zé)把具體SQL語句的結(jié)果完成對磁盤上文件路徑訪問的轉(zhuǎn)換,數(shù)據(jù)庫中的行數(shù)據(jù)都是存放在磁盤塊(page頁)上电抚,因此存儲引擎要把數(shù)據(jù)庫數(shù)據(jù)映射為磁盤塊进泼,并把磁盤塊加載到內(nèi)存中蔗衡。進(jìn)程在進(jìn)行數(shù)據(jù)處理時,沒有權(quán)限直接訪問磁盤中的數(shù)據(jù)乳绕,只有讓內(nèi)核加載所需數(shù)據(jù)至內(nèi)存中后绞惦,進(jìn)程再在內(nèi)存中完成修改,再由內(nèi)核負(fù)責(zé)把數(shù)據(jù)存回磁盤洋措。對于文件系統(tǒng)而言济蝉,數(shù)據(jù)的存儲都是以磁盤塊的方式存儲的,多個磁盤塊組成更大一級的邏輯單位,而不依賴于磁盤本身的數(shù)據(jù)塊王滤。存儲引擎在實(shí)現(xiàn)數(shù)據(jù)處理時贺嫂,在文件系統(tǒng)之上部署文件格式,對于文件而言在邏輯層上會組織一個邏輯單位雁乡,這個邏輯單位叫數(shù)據(jù)頁第喳,大小為16K,是最小分配單位踱稍。對于關(guān)系型數(shù)據(jù)庫而言曲饱,一般一行數(shù)據(jù)都是存儲在一起的,一個數(shù)據(jù)頁可能存放若干條行數(shù)據(jù)寞射,將來在查詢數(shù)據(jù)時渔工,內(nèi)核會把整個數(shù)據(jù)頁加載至內(nèi)存中,而存儲引擎就會從中挑選出一行來返回給查詢者桥温。
常見存儲引擎總結(jié):
MYISAM:MYSQL的經(jīng)典存儲引擎之一引矩,是MySQL5.5.5之前默認(rèn)的存儲引擎,其特點(diǎn)是存儲數(shù)據(jù)量大侵浸,讀取數(shù)據(jù)較快旺韭,占用資源少。但不支持事務(wù)掏觉,不支持?jǐn)?shù)據(jù)緩存区端,只支持索引緩存,不支持MVCC高并發(fā)澳腹,不支持外鍵织盼,讀寫會相互阻塞,支持表級鎖酱塔,崩潰恢復(fù)性差沥邻。適合于表較小,且只讀的數(shù)據(jù)庫羊娃。
InnoDB:支持事務(wù)唐全,讀寫阻塞和隔離等級相關(guān),可緩存數(shù)據(jù)和索引蕊玷,支持聚簇索引邮利,支持MVCC高并發(fā),MySQL5.5.5之后的默認(rèn)存儲引擎垃帅。
Performance_Schema:Performance_Schema數(shù)據(jù)庫專用延届,該數(shù)據(jù)庫主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。且用戶不能創(chuàng)建存儲引擎為Performance_Schema的表挺智。
Memory:將所有的數(shù)據(jù)存儲在RAM中祷愉,以便在需要快速查找參考和其他類似數(shù)據(jù)的環(huán)境中進(jìn)行快速訪問窗宦。適用于存放臨時數(shù)據(jù)赦颇。
MRG_MYISAM:使MySQL DBA或開發(fā)人員能夠?qū)σ幌盗邢嗤腗YISAM表進(jìn)行邏輯分組二鳄,并將他們作為一個對象使用,適用于大數(shù)據(jù)存儲媒怯,如數(shù)據(jù)倉庫订讼。
Archive:為存儲和檢索大量很少參考的存檔或安全審核信息,只支持查詢和插入操作扇苞,支持行鎖和專用緩存區(qū)欺殿。
Federated聯(lián)合:用于訪問遠(yuǎn)程MYSQL服務(wù)器的代理,通過創(chuàng)建一個連接遠(yuǎn)程MYSQL服務(wù)的客戶端鳖敷,并將查詢傳到服務(wù)器執(zhí)行脖苏,而后完成數(shù)據(jù)的存取,提供連接單獨(dú)MYSQL服務(wù)器的能力定踱,以便從多個物理服務(wù)器創(chuàng)建一個邏輯數(shù)據(jù)庫棍潘,非常適合分布式和數(shù)據(jù)集市環(huán)境。
BDB:可替代InnoDB存儲引擎崖媚,支持COMMIT亦歉,ROLLBACK和其他事務(wù)特性。
Cluter/NDB:MYSQL的簇式數(shù)據(jù)庫引擎畅哑,尤其適合于具有高性能查找要求的應(yīng)用程序肴楷,這類查找需求還要求具有最高的正常工作時間和可用性。
CSV:CSV存儲引擎使用逗號分隔符格式將數(shù)據(jù)存儲在文本文件中荠呐,可以使用CSV引擎以CSV格式導(dǎo)入和導(dǎo)出其他軟件和應(yīng)用程序的數(shù)據(jù)赛蔫。
BLACKHOLE:黑洞存儲引擎接受但不存儲數(shù)據(jù),檢索總是返回一個空值泥张,該功能可用于分布式數(shù)據(jù)庫設(shè)計(jì)呵恢,數(shù)據(jù)自動復(fù)制,但不是本地存儲圾结。
example:用于編寫開發(fā)新的存儲引擎瑰剃。

2、總結(jié)MySQL查詢緩存優(yōu)化總結(jié)筝野。

1晌姚、查看緩存命中率=Query_hits/(Query_hits+Query_insert),若命中率能接受就不用優(yōu)化了歇竟。
2挥唠、若覺得命中率太低,判斷查詢的大部分語句是不是可緩存的焕议,如果發(fā)現(xiàn)有些查詢語句太大了宝磨,超過了系統(tǒng)設(shè)置的最大緩存限制導(dǎo)致不可緩存,調(diào)大query_cache_limit。
3唤锉、如果查詢語句都是可緩存的世囊,進(jìn)一步判斷,查詢語句是不是發(fā)生了很多驗(yàn)證工作窿祥,如果是株憾,索命緩存空間不足,判斷緩存是不是被碎片化導(dǎo)致的晒衩,如果是則減少query_cache_min_unit值嗤瞎,并且flush query cache減少碎片。
4听系、如果不是緩存空間碎片化導(dǎo)致的贝奇,進(jìn)一步查看是不是緩存空間太小,導(dǎo)致緩存的查詢語句太少靠胜,如果是掉瞳,增加緩存空間大小query_cache_size。如果緩存空間大小合適髓帽,再就判斷查詢語句是不是都是新的查詢語句菠赚,如果是則說明查詢不適合用緩存。
5郑藏、如果發(fā)現(xiàn)并沒有很多驗(yàn)證工作衡查,則判斷查詢緩存是否啟用query_cache_type,如果沒有則啟用必盖;如果啟用了拌牲,則說明這些查詢不適合使用查詢緩存

3、MySQL日志各類總結(jié)歌粥。

1塌忽、事務(wù)日志:寫入類型為追加,也稱為“預(yù)寫式日志”失驶,即將數(shù)據(jù)庫的所有執(zhí)行的命令都記錄在其中土居。
2、錯誤日志:數(shù)據(jù)庫服務(wù)啟動和關(guān)閉過程中輸出的事件信息嬉探,包含產(chǎn)生的錯誤信息擦耀、警告信息等。記錄哪些信息由服務(wù)器變量log_warnings來決定涩堤,日志路徑由服務(wù)器變量log_error來決定眷蜓。
3、通用日志:記錄數(shù)據(jù)庫的通用操作胎围,包含錯誤的SQL語句吁系,由服務(wù)器變量general_log=ON來啟用,general_log_file=HOSTNAME.log來指定日志保存路徑德召。默認(rèn)是保存在文件中,也可以保存在表中汽纤,由服務(wù)器變量log_output決定上岗。
4、慢查詢?nèi)罩荆河涗泩?zhí)行時長超過指定時長的操作冒版。slow_query_log=ON來開啟慢查詢液茎,long_query_time=N指定慢查詢時間閾值逞姿,單位是秒辞嗡。slow_query_log_file來指定慢查詢?nèi)罩疚募og_queries_not_using_indexes=ON不使用索引的語句均記錄滞造。
5续室、二進(jìn)制日志:記錄導(dǎo)致數(shù)據(jù)改變或者潛在數(shù)據(jù)改變的SQL語句,不依賴于存儲類型谒养。日志有三種格式挺狰,一種是基于語句記錄,即記錄每條導(dǎo)致數(shù)據(jù)改變的SQL語句买窟,默認(rèn)模式丰泊,日志量少;一種是基于row記錄始绍,即記錄下每一條導(dǎo)致數(shù)據(jù)行改變的語句瞳购,更加安全,日志量大亏推;第三種是混合模式学赛,系統(tǒng)自動判定使用哪種。二進(jìn)制日志的開啟由兩個服務(wù)器變量決定吞杭,一個是sql_log_bin=ON;一個是log_bin指定日志文件位置盏浇,兩個都配置了才算開啟了二進(jìn)制文件。
日志類型由服務(wù)器變量binlog_format來指定芽狗。
服務(wù)器變量max_logbin_size來設(shè)置單個二進(jìn)制日志文件的大小绢掰,日志寫滿后自動新開一個。
binlog_cache_size設(shè)置每次事務(wù)二進(jìn)制日志緩存的大小童擎。
max_binlog_cache_size限制多事務(wù)用于緩存的大小滴劲。
sync_binlog二進(jìn)制日志即使同步磁盤,為1表示緩存立即同步磁盤柔昼,為0表示由操作系統(tǒng)來安排磁盤同步哑芹。
expire_logs_days=N二進(jìn)制日志自動刪除的天數(shù),默認(rèn)為0捕透,即永不刪除聪姿。
用mysqlbinlog可以查看二進(jìn)制日志文件碴萧。
用PURGE BINARY LOGS清除二進(jìn)制日志。
flush logs新開一個二進(jìn)制日志末购。
reset master to #:刪除所有二進(jìn)制日志文件破喻,并重新生成二進(jìn)制文件,日志編號從#開始計(jì)數(shù)
6盟榴、中繼日志:在數(shù)據(jù)庫主從服務(wù)架構(gòu)中曹质,從服務(wù)用來保存從主服務(wù)器同步過來的二進(jìn)制日志。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末擎场,一起剝皮案震驚了整個濱河市羽德,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迅办,老刑警劉巖宅静,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異站欺,居然都是意外死亡姨夹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門矾策,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磷账,“玉大人,你說我怎么就攤上這事贾虽√釉悖” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵榄鉴,是天一觀的道長履磨。 經(jīng)常有香客問我,道長庆尘,這世上最難降的妖魔是什么剃诅? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮驶忌,結(jié)果婚禮上矛辕,老公的妹妹穿的比我還像新娘。我一直安慰自己付魔,他們只是感情好聊品,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著几苍,像睡著了一般翻屈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妻坝,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天伸眶,我揣著相機(jī)與錄音惊窖,去河邊找鬼。 笑死厘贼,一個胖子當(dāng)著我的面吹牛界酒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘴秸,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼毁欣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了岳掐?” 一聲冷哼從身側(cè)響起凭疮,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岩四,沒想到半個月后哭尝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剖煌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逝淹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕姊。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖栅葡,靈堂內(nèi)的尸體忽然破棺而出茉兰,到底是詐尸還是另有隱情,我是刑警寧澤欣簇,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布规脸,位于F島的核電站,受9級特大地震影響熊咽,放射性物質(zhì)發(fā)生泄漏莫鸭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一横殴、第九天 我趴在偏房一處隱蔽的房頂上張望被因。 院中可真熱鬧,春花似錦衫仑、人聲如沸梨与。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粥鞋。三九已至,卻和暖如春瞄崇,著一層夾襖步出監(jiān)牢的瞬間呻粹,已是汗流浹背到踏。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尚猿,地道東北人窝稿。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像凿掂,于是被迫代替她去往敵國和親伴榔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1庄萎、運(yùn)用haproxy實(shí)現(xiàn)nginx服務(wù)負(fù)載均衡 測試環(huán)境: Nginx1: 172.16.100.151 por...
    衛(wèi)清華閱讀 333評論 0 0
  • 1踪少、總結(jié)mysql常見的存儲引擎以及特點(diǎn)。 1糠涛、1 MyISAM存儲引擎 不支持事務(wù) 表級鎖定 讀寫相互阻塞援奢,寫入...
    沐熙一葉_Leaf閱讀 267評論 1 0
  • 1、實(shí)現(xiàn)基于MYSQL驗(yàn)證的vsftpd虛擬用戶訪問 主機(jī):兩臺忍捡,一臺為FTP服務(wù)器集漾,一臺為MySQL服務(wù)器 (1...
    Gustav_man閱讀 198評論 0 0
  • ▲就業(yè)班和全程班的小伙伴看這里:(學(xué)習(xí)老王視頻的作業(yè)第35-36節(jié)) 1、實(shí)現(xiàn)基于MYSQL驗(yàn)證的vsftpd虛擬...
    一心1977閱讀 166評論 0 0
  • 一砸脊、實(shí)現(xiàn)基于MYSQL驗(yàn)證的vsftpd虛擬用戶訪問 主機(jī):兩臺具篇,一臺為FTP服務(wù)器,一臺為MySQL服務(wù)器 1凌埂、...
    毅_閱讀 263評論 0 0