目錄:html
內容:mysql
第一部分:合格linux運維十五個必會原理知識(老男孩教育出品)linux
數據庫的重要性是全部技術裏最核心最須要掌握的(理解原理,而且被面試時能清晰的表達出來),直接決定運維人員薪水的高低!
全部題都要給出專業的解答方案,不是很水的那種泛泛的解答。
面試題001:什麼是MySQL多實例,如何配置MySQL多實例?
面試題002:如何增強MySQL數據的安全,請你給出可行的思路?
面試題003:企業中MySQL root密碼忘了怎麼解決,多實例密碼忘了又如何解決?
面試題004:MySQL庫受權oldboy用戶管理bbs庫的全部表,172.16.1.0整個網段訪問,密碼是123456,請給出詳細命令(不低於2種方法)?
面試題005:delete from test和truncate table test區別?
web
面試題009:key_buffer_size參數做用,如何修改這個參數不重啓數據庫就能夠生效?
面試題010:MySQL binlog的工做模式有哪些?各有什麼特色,企業中如何選擇?
面試題011:工做中數據庫被誤操做執行了一個刪除的SQL語句,你如何完整恢復丟失的數據?提示:注意解答問題的高度、寬度、實戰性。
面試題012:企業中MySQLDUMP備份時使用了-A -B參數,請問此時如何進行單表單庫恢復?
面試題013:詳細MySQL主從同步的原理及配置主從的完整步驟。 面試
面試題027:如何調整生產線中MySQL數據庫的字符集,例如:從UTF8改爲GBK,請給出完整步驟。
面試題028:請描述MySQL裏中文數據亂碼的背後原理,以及工做中如何防止數據庫數據亂碼?
面試題029:企業生產MySQL 如何優化?
sql
面試題030 :MySQL集羣和高可用方案有哪些,再生產場景你都用過哪些方案? 提示:注意解答問題的高度和寬度shell
面試題032:如何分表分庫備份及批量恢復(口述腳本實現過程)?此題有視頻免費分享,找顧問獲取。
面試題033:若是數據庫主庫自行了drop database oldboy;語句,請問如何進行恢復數據,請給出詳細過程,並設計規避誤刪的方案(已經使用mysqldump作了全備,並開啓了binlog日誌)。提示:注意解答問題的高度、寬度、實戰性。
面試題034: 若是數據庫主庫自行了update oldboy set name='gongli';;語句,請問如何進行恢復數據,請給出詳細過程,並設計規避誤刪的方案(已經使用xtrabackup作了全備(200G+數據),及若干增量備份,並開啓了binlog日誌)。提示:注意解答問題的高度、寬度、實戰性。數據庫
█ 課前考試題:老男孩教育第十二關MySQL必會基礎命令考察編程
(要求:每兩個同窗一組,一個口頭考,一個上機實戰做答 每5個題爲一組,完成後換位)數組
1.登錄數據庫。
2.查看數據庫版本及當前登陸用戶是什麼。
3.建立GBK字符集的數據庫oldboy,並查看已建庫的完整語句。
4.建立用戶oldboy,使之能夠管理數據庫oldboy。
5.查看建立的用戶oldboy擁有哪些權限。
6.查看當前數據庫裏有哪些用戶。
7.進入oldboy數據庫
8.建立一innodb引擎字符集爲GBK表test,字段爲id和namevarchar(16),查看建表結構及SQL語句。
9.插入一條數據 1,oldboy
10.批量插入數據 2,老男孩,3,etiantian。ç要求中文不能亂碼。
11.查詢插入的全部記錄,查詢名字爲oldboy的記錄。查詢id大於1的記錄。
12.把數據id等於1的名字oldboy更改成oldgirl。
13.在字段name前插入age字段,類型tinyint(2)。
14.備份oldboy庫及MySQL庫。
15.刪除表中的全部數據,並查看。
16.刪除表test和oldboy數據庫並查看
17.Linux命令行恢復以上刪除的數據。
18.把GBK字符集修改成UTF8(可選,注意,此題有陷阱)。
19.MySQL密碼丟了,如何找回實戰?
20. MySQL內中文數據亂碼的原理及如何防止亂碼?(可選)。
21.在把id列設置爲主鍵,在Name字段上建立普通索引。
22.在字段name後插入手機號字段(shouji),類型char(11)。
23.全部字段上插入2條記錄(自行設定數據)
24.在手機字段上對前8個字符建立普通索引。
25.查看建立的索引及索引類型等信息。
26.刪除Name,shouji列的索引。
27.對Name列的前6個字符以及手機列的前8個字符組建聯合索引。
28.查詢手機號以135開頭的,名字爲oldboy的記錄(此記錄要提早插入)。
29.查詢上述語句的執行計劃(是否使用聯合索引等)。
30.把test表的引擎改爲MyISAM。
要求:你們務必會筆答,會熟練口頭表達,面試完敗其餘競爭的面試者
(2015年4月23日 20期運維班全體學員解答,時光過得真快,轉眼,20期就要畢業上戰場了,大家的刀磨快了麼?
(一)企業面試口試題
1、詳述iptales工做流程以及規則過濾順序?
2、iptables有幾個表以及每一個表有幾個鏈?
3、iptables的幾個表以及每一個表對應鏈的做用,對應企業應用場景?
4、畫圖講解iptables包過濾通過不一樣表和鏈簡易流程圖並闡述。
5、請寫出查看iptables當前全部規則的命令。
6、禁止來自10.0.0.188 ip地址訪問80端口的請求
7、如何使在命令行執行的iptables規則永久生效?
8、實現把訪問10.0.0.3:80的請求轉到172.16.1.17:80
9、實現172.16.1.0/24段全部主機經過124.32.54.26外網IP共享上網。
10、描述tcp 3次握手及四次斷開過程?
(課外參考:http://user.qzone.qq.com/49000448/blog/1426987479)
11.詳細描述HTTP工做原理?
12.請描述iptables的常見生產應用場景。
13、請描述下面iptables命令的做用
iptables -N syn-flood
iptables -A INPUT -i eth0 -syn -j syn-flood
iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN
iptables -A syn-flood -j DROP
14、企業WEB應用較大併發場景如何優化iptables?
(二)企業運維經驗面試題:
15、寫一個防火牆配置腳本,只容許遠程主機訪問本機的80端口(奇虎360面試題)
(http://user.qzone.qq.com/49000448/blog/1429755081)
16、請描述如何配置一個linux上網網關?
17、請描述如何配置一個專業的安全的WEB服務器主機防火牆?
18、企業實戰題6:請用至少兩種方法實現!
寫一個腳本解決DOS攻擊生產案例
提示:根據web日誌或者或者網絡鏈接數,監控當某個IP併發鏈接數或者短時內PV達到100,即調用防火牆命令封掉對應的IP,監控頻率每隔3分鐘。防火牆命令爲:iptables -A INPUT -s 10.0.1.10 -j DROP。
(此題來自老男孩教育SHELL編程必會考試題之一)
19、/var/log/messages日誌出現kernel: nf_conntrack: table full, dropping packet.請問是什麼緣由致使的?如何解決?
20、壓軸上機實戰iptables考試題
共21道考試題,面授上課幾乎所有講解過相似的案例,考試題略微變動而已。
企業面試題1:(生產實戰案例):監控MySQL主從同步是否異常,若是異常,則發送短信或者郵件給管理員。提示:若是沒主從同步環境,能夠用下面文本放到文件裏讀取來模擬:
階段1:開發一個守護進程腳本每30秒實現檢測一次。
階段2:若是同步出現以下錯誤號(1158,1159,1008,1007,1062),則跳過錯誤。
階段3:請使用數組技術實現上述腳本(獲取主從判斷及錯誤號部分)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
[root@oldboy~]
# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatus\G;"
*************************** 1. row ***************************
Slave_IO_State:Waiting
for
master to send event
Master_Host:10.0.0.179
#當前的mysql master服務器主機
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:mysql-bin.000013
Read_Master_Log_Pos: 502547
Relay_Log_File:relay-bin.000013
Relay_Log_Pos:251
Relay_Master_Log_File:mysql-bin.000013
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 502547
Relay_Log_Space:502986
Until_Condition:None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
#和主庫比同步延遲的秒數,這個參數很重要
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
|
企業面試題2:
使用for循環在/oldboy目錄下經過隨機小寫10個字母加固定字符串oldboy批量建立10個html文件,名稱例如爲:
1
2
3
4
5
6
|
[root@oldboy oldboy]
# sh /server/scripts/oldboy.sh
[root@oldboy oldboy]
# ls
coaolvajcq_oldboy.html qnvuxvicni_oldboy.html vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html tmdjormaxr_oldboy.html wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html ugaywanjlm_oldboy.html xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html vfrphtqjpc_oldboy.html
|
企業面試題3:請用至少兩種方法實現!
將以上文件名中的oldboy所有改爲oldgirl(用for循環實現),而且html改爲大寫。
企業面試題4:
批量建立10個系統賬號oldboy01-oldboy10並設置密碼(密碼爲隨機8位字符串)。
企業面試題5:
寫一個腳本,實現判斷10.0.0.0/24網絡裏,當前在線用戶的IP有哪些(方法有不少)
企業實戰題6:請用至少兩種方法實現!
寫一個腳本解決DOS攻擊生產案例
提示:根據web日誌或者或者網絡鏈接數,監控當某個IP併發鏈接數或者短時內PV達到100,即調用防火牆命令封掉對應的IP,監控頻率每隔3分鐘。防火牆命令爲:iptables -I INPUT -s 10.0.1.10 -j DROP。
企業實戰題7:
開發mysql多實例啓動腳本:
已知mysql多實例啓動命令爲:mysqld_safe--defaults-file=/data/3306/my.cnf &
中止命令爲:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
請完成mysql多實例啓動啓動腳本的編寫
要求:用函數,case語句、if語句等實現。
企業實戰題8:如何實現對MySQL數據庫進行分庫備份,請用腳本實現
企業實戰題9:如何實現對MySQL數據庫進行分庫加分表備份,請用腳本實現
企業面試題10:請用至少兩種方法實現!
bash for循環打印下面這句話中字母數不大於6的單詞(崑崙萬維面試題)。
I am oldboy teacher welcome to oldboy training class.
企業面試題11:開發shell腳本分別實現以腳本傳參以及read讀入的方式比較2個整數大小。以屏幕輸出的方式提醒用戶比較結果。注意:一共是開發2個腳本。當用腳本傳參以及read讀入的方式須要對變量是否爲數字、而且傳參個數作判斷。
企業面試題12:打印選擇菜單,一鍵安裝Web服務:
[root@oldboyscripts]# sh menu.sh
1.[install lamp]
2.[install lnmp]
3.[exit]
pls input the num you want:
要求:
一、當用戶輸入1時,輸出「startinstalling lamp.」而後執行/server/scripts/lamp.sh,腳本內容輸出"lampis installed"後退出腳本;
二、當用戶輸入2時,輸出「startinstalling lnmp.」而後執行/server/scripts/lnmp.sh輸出"lnmpis installed"後退出腳本;
三、當輸入3時,退出當前菜單及腳本;
四、當輸入任何其它字符,給出提示「Input error」後退出腳本。
五、要對執行的腳本進行相關條件判斷,例如:腳本是否存在,是否可執行等。
企業面試題13:
一、監控web服務是否正常,不低於3種監控策略。
二、監控db服務是否正常,不低於3種監控策略。
要求間隔1分鐘,持續監控。
企業面試題14:監控memcache服務是否正常,模擬用戶(web客戶端)檢測。
使用nc命令加上set/get來模擬檢測,以及監控響應時間及命中率。
企業面試題15:面試及實戰考試題:監控web站點目錄(/var/html/www)下全部文件是否被惡意篡改(文件內容被改了),若是有就打印改動的文件名(發郵件),定時任務每3分鐘執行一次(10分鐘時間完成)。
企業面試題16:企業案例:寫網絡服務獨立進程模式下rsync的系統啓動腳本
例如:/etc/init.d/rsyncd{start|stop|restart} 。
要求:
1.要使用系統函數庫技巧。
2.要用函數,不能一坨SHI的方式。
3.可被chkconfig管理。
企業面試題17:老男孩教育天津項目學生實踐抓鬮題目:
好消息,老男孩培訓學生外出企業項目實踐機會(第6次)來了(本月中旬),可是,名額有限,隊員限3人(班長帶隊)。
所以須要挑選學生,所以須要一個抓鬮的程序:
要求:
一、執行腳本後,想去的同窗輸入英文名字全拼,產生隨機數01-99之間的數字,數字越大就去參加項目實踐,前面已經抓到的數字,下次不能在出現相同數字。
二、第一個輸入名字後,屏幕輸出信息,並將名字和數字記錄到文件裏,程序不能退出繼續等待別的學生輸入。
企業面試題18:老男孩linux企業面試題:
已知下面的字符串是經過RANDOM隨機數變量md5sum|cut-c 1-8截取後的結果,請破解這些字符串對應的md5sum前的RANDOM對應數字?
21029299
00205d1c
a3da1677
1f6d12dd
890684b
企業面試題19:批量檢查多個網站地址是否正常
要求:shell數組方法實現,檢測策略儘可能模擬用戶訪問思路
http://www.etiantian.org
http://www.taobao.com
http://oldboy.blog.51cto.com
http://10.0.0.7
企業面試題20(中企動力)::用shell處理如下內容
一、按單詞出現頻率降序排序!
二、按字母出現頻率降序排序!
the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support sections for more infomation
企業面試題21:輸出正方形、等腰三角形、直角梯形,見以下內容
http://oldboy.blog.51cto.com/2561410/1718607
企業面試題22:開發經過web界面展現監控Nginx代理節點狀態,效果圖以下。
lvs+keepalived集羣部分Shell企業案例:
企業面試題2三、【LVS主節點】手工開發ipvsadm管理lvs的腳本ip_vs
實現:/etc/init.d/lvs {start|stop|restart}
企業面試題24、【LVS主節點】模擬keepalived健康檢查功能管理LVS節點,
當節點掛掉(檢測2次,間隔2秒)從服務器池中剔除,好了(檢測2次,間隔2秒)加進來
提示:利用ipvsadm命令實現添加和減小LVS節點。
企業面試題2五、【LVS客戶端節點】開發LVS客戶端設置VIP以及抑制ARP的管理腳本
實現:/etc/init.d/lvsclient {start|stop|restart}
企業面試題2六、【LVS備節點】模擬keepalved vrrp功能,監聽主節點,若是主節點不可訪問則備節點啓動並配置LVS實現接管主節點的資源提供服務(提醒:注意ARP緩存)
企業面試題2七、請用shell或Python編寫一個正方形(oldboy_square.sh),接收用戶輸入的數字。
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@oldboy ~]
# sh oldboy_square1.sh
Please Enter a number:5
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
[root@oldboy ~]
# sh oldboy_square2.sh
Please Enter a number:9
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
|
企業面試題2八、請用shell或Python編寫一個等腰三角形(oldboy2_triangle.sh),接收用戶輸入的數字。
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@oldboy ~]
# sh oldboy2_triangle.sh
Please Enter a number:5
*
***
*****
*******
*********
[root@oldboy ~]
# sh oldboy2_triangle.sh
Please Enter a number:8
*
***
*****
*******
*********
***********
*************
***************
|
企業面試題2九、請用shell或Python編寫一個畫直角梯形程序(oldboy4.sh),接收用戶輸入的參數n,m
例如:
1
2
3
4
|
[root@oldboy ~]
# sh oldboy4.sh 4 6
****
*****
******
|
27,28,29三道題參考http://oldboy.blog.51cto.com/2561410/1718607
企業面試題30:寫一套簡單的企業代碼上線發佈系統案例,利用SVN對代碼及配置文件進行管理,在辦公室服務器上從svn取出指定版本的代碼和配置,發佈到IDC機房分發機服務器上,在分發服務器或者負載均衡器上或者應用服務器本地實現代碼平滑發佈、上線、回滾腳本(具體設計請參考課堂講解的企業代碼發佈方案)。
企業面試題31:請設計一套Git+Saltstack實現代碼的線上發佈及管理方案。
(可參考跟老男孩學習Linux運維:Shell高級編程實戰一書內容)
轉載的網友,請務必保留本文章的所有內容,謝謝。
root@oldboy oldboy]# ll
total 4
-rw-r--r-- 1 root root 0 Oct 2 12:50 stu_102999_1_finished.jpg
-rw-r--r-- 1 root root 0 Oct 2 12:50 stu_102999_2_finished.jpg
-rw-r--r-- 1 root root 0 Oct 2 12:50 stu_102999_3_finished.jpg
-rw-r--r-- 1 root root 0 Oct 2 12:50 stu_102999_4_finished.jpg
-rw-r--r-- 1 root root 0 Oct 2 12:50 stu_102999_5_finished.jpg