一個很好的考生不會使一個很好的DBA。
面試官應該問有關的DBA的利益和閱讀材料。
他們知道Planet.mysql.com嗎? 他們知不知道和閱讀活動的作者的博客文章?
如果是這樣,那麼他們應該學習和了解的其他情況下,可以派上用場的一天。 不只是專注於自己的環境。
這是一個多部分的博客文章的一部分。
MySQL的 面試 問題
之前,你甚至開始問問題要注意如何以及候選宣告MySQL的。
我之所以提起這件事時,它會顯示與MySQL的獻身精神和經驗。 它允許發音以不同的方式,但它的發音是“我的ESS闕埃爾”,然後顯示他們知道歷史。
問題1:
酸站在什麼?
響應應該包括以下一些:
答:原子性。
C:一致性。
我::隔離。
D:耐久性。
- 自動提交設置。
- COMMIT語句。
- ROLLBACK語句。
C:一致性。
- InnoDB的雙寫緩衝。
- InnoDB的崩潰恢復。
我::隔離。
- 自動提交設置。
- SET隔離級別聲明。
- InnoDB的鎖定。
D:耐久性。
- InnoDB的雙寫緩衝區,開啟和關閉由innodb_doublewrite
- 配置選項的innodb_flush_log_at_trx_commit。
- 配置選項sync_binlog。
- 配置選項innodb_file_per_table的。
- 在存儲設備中,如磁盤驅動器,固態硬盤,或RAID陣列的寫緩衝器。
問題2:
關於MySQL的架構,你能告訴我什麼?
反應應該參考以下的一些:
你能告訴我什麼MySQL和磁盤I / O?
讓他們解釋他們的RAID級別的喜好和為什麼。
其他閱讀你可以在這裡找到。
問題4:
參與接管一個MySQL服務器時,你沒有任何憑據的步驟是什麼?
反應應該是類似以下的一些:
- 停止服務:#/ etc / init.d下/ mysql的停止
- 重新啟動跳過盛大:#mysqld_safe的... - 跳過發放表
- 的/ usr / sbin目錄/ mysqld的 - BASEDIR = / USR - DATADIR =的/ var / lib中/ MySQL的 - 插件目錄中= / usr/lib64/mysql/plugin - 用戶= mysql的 - 日誌錯誤= /無功/登錄/ mysqld.log - PID文件的/ var / lib中/ MySQL / kdlarson的pc.pid
- 根連接:
- #mysql-U的根
- 要設置一個新的密碼:
- 使用MySQL;
- MYSQL>更新用戶設置的密碼= PASSWORD(“NEW-ROOT密碼”),其中User ='根';
- 的mysql> flush privileges的;
- MYSQL>退出
問題5:
你怎麼能定義MySQL索引的人誰不知道他們是什麼?
讓他們解釋自己定義的索引。 這一點,是不是要過於技術性的,但說明的一點理由讓他們。
一個常見的例子指數想到的電話簿或想在圖書館的索引卡。
它們被用來迅速找到和邏輯。 如果電話簿大家列出姓,而不是姓氏,這將是很難找到並進行更新。
人們使用圖書館的卡片目錄在圖書館找書。 這是有用的,因為它們存儲在索引卡片上的信息與位置信息,所以很容易位置的相關信息。
跟進問題:
它是更好的指標有很多,在不同類型的數據?
響應可包括以下的一些:
更多的索引,意味著更多的工作,但是這也意味著更多的索引快速查找數據意味著更多的方法。一個DBA需要按照相關的應用程序和數據的需求來確定所需金額的索引。
問題6:
什麼是MySQL查詢
是什麼讓一個很好的查詢?
允許他們解釋查詢是什麼,以及他們如何喜歡編寫一個查詢。
它可以包括下面的一些:
- SQL查詢都像在和自己的小程序。
- 他們請求數據庫服務器的記錄,收集選擇,交叉製表他們與其他收藏品的記錄,然後對它們進行排序,和切片和切塊他們。
- 所有這一切都需要MySQL來建立臨時表,執行資源密集型各種各樣和組織輸出漂亮的一口大小的塊。
問題7:
他們使用什麼存儲引擎?
他們很可能會引用以下的一些。 這些都是mysql.com網站的鏈接,所以你可以閱讀更多關於他們,
問題8:
什麼是最困難的問題,你是否曾經不得不解決與MySQL?
允許他們解釋細講的問題以及解決方案。
- 為什麼是個問題嗎?
- 你是怎麼解決這個問題?
- 收入依賴緊急修復?
- 沒問題重新出現或保持固定的呢?
問題9:
他們喜歡什麼MySQL和Percona的或MariaDB的?
允許他們說話,並解釋他們喜歡什麼,為什麼。 這將讓你看到他們珍視作為值。 有些人可能會喜歡MariaDB的,因為他們都致力於開源的消息,其他人可能更喜歡Percona的,因為如果提供的開源工具,而另一些喜歡的MySQL,因為這是源和原始。
問題10:
與MySQL複製他們的經驗是什麼?
讓他們談談他們不同的經驗和複製的設置。
他們的一些信息可能是像下面這些可以跟進問題。
後續問題:
你會如何設置主站/從站:
主 - 主複製是主/從複製類似,除了一個額外的步驟。
CHANGE MASTER TO
- > MASTER_HOST ='master_host_name
- > MASTER_USER ='replication_user_name的,
- > MASTER_PASSWORD ='replication_password的,
- > MASTER_LOG_FILE ='recorded_log_file_name的,
- > MASTER_LOG_POS = recorded_log_position;
一個複製的完整性檢查工具,可以幫助你知道嗎?
Percona的PT表校驗和是預防性的工具來使用
它可以生成所有表的校驗和,然後傳播這些校驗通過複製的奴隸。
如何安裝半同步複製
| VARIABLE_NAME |價值|
+ ------------------------------ + ------- +
| Rpl_semi_sync_master_clients | 1 |
+ ------------------------------ + ------- +
- 主數據庫的轉儲,而它的表被鎖定。
- 捕捉主狀態,日誌文件和當時的地位( - 主數據[=#])
- 新機的進口數據
- CHANGE MASTER TO
- SHOW SLAVE STATUS
- Slave_IO_Running:是
- Slave_SQL_Running:是
主 - 主複製是主/從複製類似,除了一個額外的步驟。
- 在從屬SHOW MASTER STATUS
- 返回到主箱和運行CHANGE MASTER TO
- | | 1 | auto_increment_increment
- | | 1 | auto_increment_offset
CHANGE MASTER TO
- > MASTER_HOST ='master_host_name
- > MASTER_USER ='replication_user_name的,
- > MASTER_PASSWORD ='replication_password的,
- > MASTER_LOG_FILE ='recorded_log_file_name的,
- > MASTER_LOG_POS = recorded_log_position;
一個複製的完整性檢查工具,可以幫助你知道嗎?
Percona的PT表校驗和是預防性的工具來使用
它可以生成所有表的校驗和,然後傳播這些校驗通過複製的奴隸。
如何安裝半同步複製
- INSTALL PLUGIN rpl_semi_sync_master SONAME semisync_master.so;
- 主> SET GLOBAL rpl_semi_sync_master_enabled =;
- 奴隸> SET GLOBAL rpl_semi_sync_slave_enabled =的;
- 奴隸> STOP SLAVE IO_THREAD的START SLAVE IO_THREAD;
- 主> SHOW STATUS LIKE'Rpl_semi_sync_master_clients';
| VARIABLE_NAME |價值|
+ ------------------------------ + ------- +
| Rpl_semi_sync_master_clients | 1 |
+ ------------------------------ + ------- +
你怎麼能阻止所有從服務器上複製在同一個時間點?
這將顯示,如果他們使用的工具或者破解方法。
通常情況下,複製發生錯誤時停止奴隸,所以,如果他們強迫被複製的錯誤,它會停止所有的在同一個時間點,“老派”的法回採奴隸的奴隸。
問題11:
還有什麼,他們認為自己是一個系統管理員或開發人員?
讓他們談談他們的經驗,以及它如何塑造自己的職業生涯。
歷史上的MySQL DBA創建了他們的工作經驗。 一些專注於系統管理,而有些則是Web開發人員,有時他們是上述所有。 無論哪種方式,他們現在有一個重點MySQL數據庫,你可能會對你的優勢能夠利用這一經驗。