mysql dba面試題及答案
1, mysql的複製原理以及流程。
(1)先問基本原理流程,3個線程以及之間的關聯。
(2)再問一致性,延時性,數據恢復。
(3)再問各種工作遇到的複製bug的解決方法
3,問mysql中varchar與char的區別以及var50)中的30代表的涵義。
(1)varchar與char的區別
char是一種固定長度的類型,varchar則是一種可變長度的類型
(2)var50)中50的涵義
最多存放50個字節
(3)int(20)中20的涵義
int(M)中的M indicates the maximum display width (最大顯示寬度)for integer types. The maximum legal display width is 255.
(4)爲什麼MySQL這樣設計?
4,問了innodb的事務與日誌的實現方式。
(1)有多少種日誌
錯誤日誌:記錄出錯信息,也記錄一些警告信息或者正確的信息
慢查詢日誌:設置一個閾值,將運行時間超過該值的所有SQL語句都記錄到慢查詢的日誌文件中。
二進制日誌:記錄對數據庫執行更改的所有操作
查詢日誌:記錄所有對數據庫請求的信息,不論這些請求是否得到了正確的執行。
(2)日誌的存放形式
(3)事務是如何通過日誌來實現的,說得越深入越好。
隔離性: 通過 鎖 實現
原子性、一致性和持久性是通過 redo和undo來完成的。
5,問了mysql binlog的幾種日誌錄入格式以及區別
(1)各種日誌格式的涵義
(2)適用場景
(3)結合第一個問題,每一種日誌格式在複製中的優劣。
6,問了下mysql數據庫cpu飆升到500%的話他怎麼處理?
(1) 沒有經驗的,可以不問
(2)有經驗的,問他們的處理思路
7,sql優化。
(1)explain出來的各種item的意義
(2)profile的意義以及使用場景。
(3)explain中的索引問題。
8, 備份計劃,mysqldump以及xtranbackup的實現原理,
(1) 備份計劃
(2)備份恢復時間
(3)備份恢復失敗如何處理
9, 500臺db,在最快時間之內重啓。
10, 在當前的工作中,你碰到到的最大的mysql db問題是?
11, innodb的讀寫參數優化
(1)讀取參數,global buffer pool以及 local buffer
(2)寫入參數
(3)與IO相關的參數
(4)緩存參數以及緩存的適用場景
12 ,請簡潔地描述下MySQL中InnoDB支持的四種事務隔離級別名稱,以及逐級之間的區別?
SQL標準定義的四個隔離級別爲:
read uncommited
read committed
repeatable read
serializable
Read Uncommitted(讀取未提交內容)
在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,因爲它的性能也不比其他級別好多少。讀取未提交的數據,也被稱之爲髒讀(Dirty Read)。
Read Committed(讀取提交內容)
這是大多數數據庫系統的默認隔離級別(但不是MySQL默認的)。它滿足了隔離的簡單定義:一個事務只能看見已經提交事務所做的改變。這種隔離級別也支持所謂的不可重複讀(Nonrepeatable Read),因爲同一事務的.其他實例在該實例處理其間可能會有新的commit,所以同一select可能返回不同結果。
Repeatable Read(可重讀)
這是MySQL的默認事務隔離級別,它確保同一事務的多個實例在併發讀取數據時,會看到同樣的數據行。不過理論上,這會導致另一個棘手的問題:幻讀(Phantom Read)。簡單的說,幻讀指當用戶讀取某一範圍的數據行時,另一個事務又在該範圍內插入了新行,當用戶再讀取該範圍的數據行時,會發現有新的“幻影” 行。InnoDB和Falcon存儲引擎通過多版本併發控制(MVCC,Multiversion Concurrency Control 間隙鎖)機制解決了該問題。注:其實多版本只是解決不可重複讀問題,而加上間隙鎖(也就是它這裏所謂的併發控制)才解決了幻讀問題。
Serializable(可串行化)
這是最高的隔離級別,它通過強制事務排序,使之不可能相互衝突,從而解決幻讀問題。簡言之,它是在每個讀的數據行上加上共享鎖。在這個級別,可能導致大量的超時現象和鎖競爭。
對於不同的事務,採用不同的隔離級別分別有不同的結果。不同的隔離級別有不同的現象。主要有下面3種現在:
1、髒讀(dirty read):一個事務可以讀取另一個尚未提交事務的修改數據。
2、非重複讀(nonrepeatable read):在同一個事務中,同一個查詢在T1時間讀取某一行,在T2時間重新讀取這一行時候,這一行的數據已經發生修改,可能被更新了(update),也可能被刪除了()。
3、幻像讀(phantom read):在同一事務中,同一查詢多次進行時候,由於其他插入操作()的事務提交,導致每次返回不同的結果集。
不同的隔離級別有不同的現象,並有不同的鎖定/併發機制,隔離級別越高,數據庫的併發性就越差,4種事務隔離級別分別表現的現象如下表:
隔離級別 | 髒讀 | 非重複讀 | 幻像讀 |
read uncommitted | 允許 | 允許 | 允許 |
read committed | 允許 | 允許 | |
repeatable read | 允許 | ||
serializable |
13,表中有大字段X(例如:text類型),且字段X不會經常更新,以讀爲爲主,請問
(1)您 是選擇拆成子表,還是繼續放一起?
拆成子表
(2)寫出您這樣選擇的理由?
1 提高檢索效率
14,MySQL中InnoDB引擎的行鎖是通過加在什麼上完成(或稱實現)的?爲什麼是這樣子的
通過 行多版本控制
15 MyISAM 與innodb的區別
(1) 問5點不同
MyISAM Innodb
事物支持 : 不支持 支持
鎖的粒度: table Row
存儲容量: 沒有上限 64TB
哈希索引 : 不支持 支持
全文索引: 支持 不支持
外鍵: 不支持 支持
(2) 問各種不同mysql版本的2者的改進
(3)2者的索引的實現方式
-
單位面試通知書(3篇)
在現實社會中,我們都跟通知有着直接或間接的聯繫,通知適用於批轉下級機關的公文,轉發上級機關和不相隸屬機關的公文。相信很多朋友都對寫通知感到非常苦惱吧,下面是小編精心整理的單位面試通知書,僅供參考,希望能夠幫助到大家。單位面試通知書1各招聘單位,各應聘考生:...
-
【推薦】面試心得體會
當我們受到啓發,對生活有了新的感悟時,常常可以將它們寫成一篇心得體會,通過寫心得體會,可以幫助我們總結積累經驗。很多人都十分頭疼怎麼寫一篇精彩的心得體會,下面是小編精心整理的面試心得體會,希望能夠幫助到大家。面試心得體會1自去年參加選調生考試以後,一直有...
-
面試個人簡歷(15篇)
時間真是轉瞬即逝,我們找工作的時間越來越近,這時是不是該好好寫一份簡歷了呢?你知道簡歷要如何寫嗎?下面是小編整理的面試個人簡歷,僅供參考,大家一起來看看吧。面試個人簡歷1姓名:民族:漢族年齡:26歲聯繫方式:求職意向及工作經歷應聘職位:前臺接待/文員/經理助理工作年...
-
面試職位自薦信
我們眼下的社會,我們都可能會用到自薦信,寫自薦信的時候要注意內容的完整。相信大家又在爲寫自薦信犯愁了吧!下面是小編精心整理的面試職位自薦信,歡迎大家分享。面試職位自薦信1尊敬的校領導:您好!首先感謝您在在繁忙的事物之中瀏覽我的求職自薦信,下面,我將對本身進...