致DBA:為什么你經(jīng)常犯錯(cuò)翎苫,是因?yàn)槟阕龅墓φn不夠

專職做DBA已經(jīng)6年多的時(shí)間了权埠,看同行、同事犯了太多的錯(cuò)誤煎谍,自己也犯了非常多的錯(cuò)誤攘蔽。一路走來,感觸非常深呐粘。然而絕大多數(shù)的錯(cuò)誤其實(shí)都是很低級(jí)的錯(cuò)誤满俗。有的是因?yàn)椴涣私饽硞€(gè)引擎的特性導(dǎo)致;有的是因?yàn)閷?duì)線上環(huán)境不了解導(dǎo)致作岖;有的是因?yàn)榻?jīng)驗(yàn)不足導(dǎo)致唆垃;一路上,跌跌撞撞鳍咱,從小公司DBA降盹,到騰訊高級(jí)DBA,再到現(xiàn)在的金融數(shù)據(jù)庫DBA谤辜。 不由得想起5年前的我蓄坏,剛進(jìn)入DBA行業(yè),缺乏經(jīng)驗(yàn)丑念,經(jīng)常犯錯(cuò)誤涡戳,不是我不夠努力,更多的是初來咋到的我根本不知道應(yīng)該在哪方面下功夫脯倚。本文就是基于這方面的考慮渔彰,根據(jù)自己在DBA這個(gè)職業(yè)上走過的彎路嵌屎,總結(jié)一些方法給DBA的同行。希望本文能給同行DBA或者運(yùn)維的朋友們帶來一些改變恍涂,讓大家知道作為一個(gè)DBA需要在哪些方面下功夫宝惰。下面主要從環(huán)境、數(shù)據(jù)安全再沧、常規(guī)操作尼夺、預(yù)案、架構(gòu)炒瘸、心態(tài)等層面淤堵,同時(shí)也會(huì)介紹一些實(shí)用的經(jīng)驗(yàn)。

<1>環(huán)境篇

毫無疑問顷扩,DBA是需要綜合技能最多的一個(gè)職業(yè)拐邪,需要你有網(wǎng)絡(luò)、操作系統(tǒng)隘截、文件系統(tǒng)扎阶、數(shù)據(jù)庫、安全技俐、編程等知識(shí)乘陪。作為DBA,為了少犯錯(cuò)誤雕擂,你首先得非常熟悉你負(fù)責(zé)的數(shù)據(jù)庫環(huán)境啡邑,大到網(wǎng)絡(luò)環(huán)境、系統(tǒng)環(huán)境井赌、數(shù)據(jù)庫環(huán)境(這里主要以mysql為例)谤逼。如果不熟悉環(huán)境,很容易因?yàn)樽陨聿僮骺紤]不周而導(dǎo)致線上的故障仇穗。想想就知道流部,有多少DBA因?yàn)閍lter操作導(dǎo)致的線上故障?有多少DBA忽略了字符集的問題導(dǎo)致了線上的亂碼纹坐?又有多少DBA由于遷移的時(shí)候沒有備份觸發(fā)器或者event導(dǎo)致的故障枝冀?太多的教訓(xùn)足以讓我們所有的DBA認(rèn)識(shí)到熟悉環(huán)境的重要性。另外DBA對(duì)線上環(huán)境如果足夠了解耘子,在處理故障果漾、討論處理方案等,都能極大地增強(qiáng)我們的自信谷誓,更好地提升自己的影響力绒障。我們可以說不熟悉環(huán)境的DBA不是好DBA。下面來介紹環(huán)境部分我們DBA應(yīng)該注意的問題:

1捍歪、軟件環(huán)境

1.1 操作系統(tǒng)環(huán)境

針對(duì)操作系統(tǒng)部分户辱,你可能需要了解的是使用的操作系統(tǒng)類型鸵钝,linux or windows,該系統(tǒng)做了哪些內(nèi)核的優(yōu)化庐镐,尤其是針對(duì)數(shù)據(jù)庫恩商,比如文件描述符、配置ntp必逆、raid的寫cache模式等痕届,另外你還要對(duì)系統(tǒng)的運(yùn)行狀態(tài)有大致的了解,CPU使用末患、內(nèi)存使用、IO使用以及網(wǎng)絡(luò)帶寬和包量的情況锤窑。

1.2 數(shù)據(jù)庫環(huán)境

數(shù)據(jù)庫環(huán)境包含的內(nèi)容就非常多了璧针,這里只介紹如果不了解比較容易造成誤操作的部分:

1.3 部署方式

對(duì)于數(shù)據(jù)庫的部署,我們需要了解數(shù)據(jù)庫是如何部署的渊啰,部署在了什么目錄探橱,可執(zhí)行文件、數(shù)據(jù)文件绘证、log文件隧膏、配置文件等的存放路徑,數(shù)據(jù)庫如何啟動(dòng)和停止等

1.4 使用引擎

了解目前數(shù)據(jù)庫默認(rèn)使用的引擎嚷那,以及現(xiàn)有的表使用的引擎胞枕,提前清楚地了解各個(gè)引擎的特點(diǎn)和使用,避免在出現(xiàn)數(shù)據(jù)遷移魏宽、表損壞以及啟動(dòng)問題手忙腳亂導(dǎo)致誤操作腐泻。(我們的技術(shù)就像武器庫,都是靠平時(shí)閑淡中的積累和打造队询,在出問題的時(shí)候直接從武器庫拿來使用派桩,因此要經(jīng)常豐富我們的“武器庫”)

備注:雖然現(xiàn)在基本使用的都是innodb引擎,但是蚌斩,你也同樣可以發(fā)現(xiàn)有的還用了Myisam铆惑,甚至還有的用到了memory、merge送膳、spider员魏、tokuDB等。

1.5 同步方式

目前mysql基本都會(huì)配置同步(如果沒有一定要加上肠缨,除非是數(shù)據(jù)丟了或者長(zhǎng)時(shí)間故障也沒關(guān)系的庫)逆趋,既然涉及到同步就會(huì)有多種不同的方式。比如常見的分類:

基于binlog和pos的同步

基于GTID的同步

異步

半同步

單線程同步

多線程同步

針對(duì)這些同步晒奕,都有一些不同的特點(diǎn)闻书,比如出現(xiàn)問題了名斟,需要跳過某個(gè)位置,gtid的同步和基于pos的同步操作就不一樣魄眉,同步方式也是你必須掌握的技巧砰盐。

1.6 版本

在維護(hù)數(shù)據(jù)庫的時(shí)候,還需要了解當(dāng)前數(shù)據(jù)庫使用的大版本坑律。因?yàn)閿?shù)據(jù)庫的大版本的功能會(huì)有很大的差異岩梳,有很多特性是只存在某個(gè)大版本的,因此了解使用的版本能讓你大致知道當(dāng)前數(shù)據(jù)庫支持哪些特性晃择。在涉及到遷移冀值、同步、數(shù)據(jù)庫升級(jí)等操作的時(shí)候宫屠,能從容應(yīng)對(duì)列疗。

1.7 存儲(chǔ)過程(procedure)、事件(event)

了解當(dāng)前數(shù)據(jù)庫是否存在存儲(chǔ)過程和事件浪蹂,在數(shù)據(jù)備份抵栈、數(shù)據(jù)遷移的時(shí)候,需要將對(duì)應(yīng)的存儲(chǔ)過程和事件的參數(shù)添加進(jìn)去坤次,另外如果存在事件古劲,在遷移的時(shí)候會(huì)有特殊的操作,在遷移的目標(biāo)機(jī)器要現(xiàn)將事件關(guān)閉缰猴,切換后再打開产艾。防止事件導(dǎo)致數(shù)據(jù)不一致。

1.8 關(guān)鍵配置

mysql有幾項(xiàng)非常關(guān)鍵的配置滑绒,需要了解清楚胰舆,避免由于配置沒搞清楚導(dǎo)致誤操作,總結(jié)關(guān)鍵配置如下:

innodb_buffer_pool_size

#對(duì)innodb生效蹬挤,對(duì)性能影響非常大缚窿,一般可以設(shè)置內(nèi)存的50~80%

key_buffer_size

#對(duì)Myisam生效,建議修改成innodb

innodb_flush_log_at_trx_commit

#innodb的redo日志刷新方式焰扳,對(duì)innodb的影響會(huì)很大倦零,一般設(shè)置為2

log-bin

#是否開始binlog,如果沒有開啟吨悍,一定要開啟

sync_binlog

#刷binlog的方式扫茅,一般設(shè)置為0,如果對(duì)數(shù)據(jù)需要強(qiáng)一致的育瓜,可以將sync_binlog設(shè)置為大于1的數(shù)葫隙,兼顧安全和性能

innodb_file_per_table

#采用獨(dú)立表空間,建議都設(shè)置成獨(dú)立表空間躏仇,不然后面磁盤空間滿了恋脚,刪除表空間也無法釋放腺办,必須做數(shù)據(jù)遷移

lower_case_table_names

#表明區(qū)分大小寫

character_set_server

#字符集在遷移、數(shù)據(jù)庫變更糟描、數(shù)據(jù)導(dǎo)入等都是必須要注意的怀喉,不然數(shù)據(jù)亂碼了就會(huì)很麻煩

max_connections

#最大連接數(shù)不能設(shè)置太大,要計(jì)算一下session內(nèi)存*max_connections + 固定內(nèi)存 < 總內(nèi)存-2G(這2G用來做系統(tǒng)內(nèi)存船响,留給系統(tǒng)的內(nèi)存可以再設(shè)大一點(diǎn))

transaction_isolation

#設(shè)置隔離級(jí)別躬拢,默認(rèn)是Repeatable Read,如果是binlog是row模式见间,也經(jīng)常設(shè)置為Read Committed級(jí)別

所有上面說的參數(shù)聊闯,都需要深入了解和熟悉,當(dāng)我們?cè)谧鰯?shù)據(jù)遷移的時(shí)候或者搭建mysql的時(shí)候米诉,一定要比對(duì)一下和源實(shí)例的配置(比對(duì)工具可以參考pt-config-diff工具)馅袁,以免遷移完成后由于參數(shù)不一致,中途要重啟實(shí)例的情況荒辕。在這個(gè)問題上,我見過太多的教訓(xùn)犹褒,希望大家能吸取教訓(xùn)抵窒,減少故障和問題的發(fā)生。

1.9 數(shù)據(jù)庫環(huán)境收集工具介紹

前面我們介紹了數(shù)據(jù)庫的相關(guān)的環(huán)境叠骑,對(duì)于那么多的環(huán)境變量李皇,我們?nèi)绾胃玫娜ナ占@里給大家介紹一個(gè)工具

pt-mysql-summary

這個(gè)工具的具體用法可以google了解宙枷,也可以訪問如下鏈接了解掉房,不在本文的論述范圍:

https://www.percona.com/doc/percona-toolkit/2.1/pt-mysql-summary.html

2、硬件

硬件相關(guān)的信息也是我們需要關(guān)注的慰丛,針對(duì)每種硬件我們都會(huì)有大致的QPS卓囚、TPS等指標(biāo),這個(gè)對(duì)于新上業(yè)務(wù)的評(píng)估以及評(píng)估現(xiàn)在數(shù)據(jù)庫的瓶頸很有幫助诅病,對(duì)于硬件你需要了結(jié)CPU核數(shù)哪亿、內(nèi)存的大小、硬盤的介質(zhì)(SAS贤笆? PCIE SSD 蝇棉?NVME SSD?)芥永,最好對(duì)線上的常見機(jī)型都有詳細(xì)的壓測(cè)數(shù)據(jù)篡殷。了解每一種機(jī)型在mysql中的表現(xiàn),也是體現(xiàn)DBA專業(yè)度的一個(gè)指標(biāo)埋涧。

經(jīng)常有DBA由于不了解各個(gè)機(jī)型大致能支撐的性能 板辽,在方案選型和設(shè)備選型討論中奇瘦,無法肯定地確認(rèn)具體需要什么設(shè)備,當(dāng)前的設(shè)備配置是否能抗住對(duì)應(yīng)的訪問量戳气,導(dǎo)致領(lǐng)導(dǎo)和開發(fā)對(duì)該DBA的專業(yè)度大打折扣链患。如果大家在日常工作中有空閑的機(jī)器,不妨使用sysbench瓶您、mysqlslap麻捻、fio等工具搗鼓一下。

3呀袱、運(yùn)行狀態(tài)

作為DBA贸毕,我們還需要了解現(xiàn)在的實(shí)例的運(yùn)行狀態(tài),如下幾個(gè)指標(biāo)都是我們需要了解的:

數(shù)據(jù)庫數(shù)據(jù)量和表的數(shù)據(jù)量

#數(shù)據(jù)量到多少G夜赵,尤其是單表的數(shù)據(jù)量

實(shí)例負(fù)載情況(CPU負(fù)載明棍、IO負(fù)載、系統(tǒng)負(fù)載)

慢查詢情況

SQL延遲情況

鎖情況

臟頁情況

訪問模型

#訪問模型就是這數(shù)據(jù)庫承擔(dān)的是讀多寫少還是讀少寫多寇僧,以及是否是高并發(fā)等等

針對(duì)上述問題摊腋,可以采用pt-mysql-summary工具獲取,再加以分析嘁傀,也可以通過如下兩個(gè)工具來實(shí)時(shí)查看

innotop

orzdba


<2>數(shù)據(jù)安全篇

針對(duì)數(shù)據(jù)安全兴蒸,主要包含如下幾個(gè)部分

1、權(quán)限安全

在權(quán)限方面细办,我們經(jīng)常會(huì)看到有很多的數(shù)據(jù)庫根本就沒有密碼橙凳,或者給業(yè)務(wù)的用戶使用完全的權(quán)限(all privileges),或者是給某個(gè)帳號(hào)可以從任何地方登錄的權(quán)限笑撞,這些都是非常致命的岛啸。建議在授予權(quán)限的時(shí)候注意如下幾點(diǎn):

數(shù)據(jù)庫一定設(shè)置符合密碼復(fù)雜度的用戶密碼

禁止給用戶設(shè)置%的登錄機(jī)器

只給業(yè)務(wù)最小權(quán)限的帳號(hào),并限制登錄的機(jī)器

2茴肥、數(shù)據(jù)一致性

目前一般都是主從架構(gòu)坚踩,主從的數(shù)據(jù)是否一致?90%以上的主從架構(gòu)都缺乏數(shù)據(jù)一致性校驗(yàn)瓤狐,之前遇到主從切換后數(shù)據(jù)不一致的情況堕虹,導(dǎo)致線上故障。

為了保證數(shù)據(jù)的一致性芬首,記得周期性地使用pt-table-checksum來檢查主從數(shù)據(jù)是否一致赴捞,如果不一致,可以使用pt-table-sync進(jìn)行修復(fù)郁稍。

3赦政、數(shù)據(jù)安全

做為DBA,經(jīng)常要思考,如果數(shù)據(jù)被誤刪恢着,在現(xiàn)有的環(huán)境下是否會(huì)導(dǎo)致數(shù)據(jù)丟失桐愉。如果會(huì),那就是你DBA工作沒有做到位掰派。主要考慮的指標(biāo)為:

備份策略(數(shù)據(jù)庫備份从诲、binlog備份)

這里主要考慮3件事情:

3.1 數(shù)據(jù)備份策略是否合理

備份策略至少包含全量備份,和binlog增量備份靡羡,由于有從機(jī)系洛,基本binlog都會(huì)比較安全

3.2 備份數(shù)據(jù)是否安全

備份數(shù)據(jù)是否安全,比如備份機(jī)器掛掉略步,是否所有的備份數(shù)據(jù)都會(huì)丟失描扯,可以采用分布式文件系統(tǒng)或者在服務(wù)器中交錯(cuò)存放來規(guī)避。

3.3 備份數(shù)據(jù)是否可用

常常問自己趟薄,我們的備份數(shù)據(jù)都是有效的嗎绽诚?周期性做備份數(shù)據(jù)還原的演練是必要的,確保備份數(shù)據(jù)的有效性杭煎。


<3>常規(guī)操作篇

在操作數(shù)據(jù)庫的時(shí)候恩够,首先我們需要熟練常規(guī)的操作,常規(guī)的操作又分為兩部分羡铲,一個(gè)是線上數(shù)據(jù)庫的常規(guī)操作蜂桶,一個(gè)是針對(duì)常見故障的預(yù)案的常規(guī)操作。熟練了操作和預(yù)案犀勒,才能在線上出問題的時(shí)候不至于手忙腳亂。

1妥曲、常規(guī)操作

常規(guī)的操作一般包含如下幾項(xiàng)

啟動(dòng)停止

數(shù)據(jù)庫常規(guī)變更

索引優(yōu)化

配置修改

數(shù)據(jù)庫的備份

數(shù)據(jù)的遷移

切換

以上這些操作贾费,包含的內(nèi)容太多,DBA們可以自行g(shù)oogle檐盟」酉簦總之要達(dá)到非常熟練的地步。如果命令記不住葵萎,建議將常規(guī)的操作通過關(guān)鍵字標(biāo)記导犹,并記錄到類似印象筆記的文檔中,要急用的時(shí)候可以快速搜索到羡忘。也可以寫成工具腳本谎痢,隨時(shí)調(diào)用。

2卷雕、常見故障的預(yù)案

作為DBA节猿,經(jīng)常要面對(duì)各種突發(fā)的故障。大家要先搞清楚,不是遇到了故障我們才去找解決辦法滨嘱,而是在沒有遇到故障之前就應(yīng)該想到某一部分可能會(huì)出現(xiàn)問題峰鄙,如果出現(xiàn)問題,我們應(yīng)該當(dāng)如何來應(yīng)對(duì)太雨。比如master出現(xiàn)故障吟榴,我們當(dāng)如何處理?當(dāng)你想到某個(gè)地方可能出現(xiàn)問題囊扳,那么就先將解決方案寫出來吩翻。然后再找環(huán)境測(cè)試解決方案的可行性。驗(yàn)證了方案可行性之后宪拥,最好在線上安排對(duì)應(yīng)的案例演習(xí)仿野,確保解決方案可靠的。最終達(dá)到的效果是任何團(tuán)隊(duì)的任何一個(gè)成員對(duì)照文檔都能處理類似的故障她君。

3脚作、極端情況下的預(yù)案

除了常見故障的預(yù)案,我們還應(yīng)當(dāng)思考極端情況下可能出現(xiàn)的故障(雖然可能永遠(yuǎn)都用不上)缔刹,比如數(shù)據(jù)庫主從都掛掉的情況球涛。最好能拉上業(yè)務(wù)和開發(fā)的同學(xué)一起討論,得出可行性的解決辦法校镐,然后找環(huán)境驗(yàn)證亿扁。當(dāng)問題真的出現(xiàn)后,你會(huì)比沒有預(yù)案的時(shí)候鎮(zhèn)定很多鸟廓,不至于一臉懵B从祝。

4、定期演習(xí)

預(yù)案做好以后最好能定期安排演習(xí)引谜,開始搞互聯(lián)網(wǎng)金融后有更深的體會(huì)牍陌,這邊基本每個(gè)月都會(huì)有常規(guī)的演習(xí)。定期演習(xí)非常必要员咽,通過演習(xí)毒涧,將演習(xí)過程中發(fā)現(xiàn)的問題都梳理出來,進(jìn)行各個(gè)擊破贝室,確保各個(gè)預(yù)案都能正常工作契讲。


<4>架構(gòu)篇

1、你是一個(gè)合格DBA嗎滑频?

作為運(yùn)維DBA捡偏,肯定會(huì)接觸到數(shù)據(jù)庫的架構(gòu)和業(yè)務(wù)架構(gòu),之前我們總監(jiān)要求新入職的員工必須對(duì)你所要負(fù)責(zé)的數(shù)據(jù)庫架構(gòu)進(jìn)行串講峡迷,將不清楚的霹琼,不能直接上崗做線上操作。這個(gè)無疑是非常正確的,尤其是在騰訊這種公司枣申,很多后端的邏輯都通過OSS進(jìn)行封裝售葡,導(dǎo)致你能看到的只是web頁面上的各個(gè)功能簡(jiǎn)單的按鈕。只要輕輕一點(diǎn)忠藤,就能將很復(fù)雜的功能完成挟伙。這個(gè)對(duì)于后端邏輯沒有好奇心的人是非常致命的。出了問題就找開發(fā)模孩,導(dǎo)致自己的能力沒有任何的提升尖阔,甚至還會(huì)在這種點(diǎn)鼠標(biāo)的工作中日益退化。因此在架構(gòu)篇部分其實(shí)想和大家聊的是在我們點(diǎn)鼠標(biāo)的同時(shí)榨咐,還是要深入地去了解點(diǎn)鼠標(biāo)背后發(fā)生的事情介却,知道異常如何分析和排查。甚至要再大膽一點(diǎn)块茁,你也可以嘗試著通過python或者go等語言去實(shí)現(xiàn)那些背后的邏輯齿坷,不要把自己局限在只是一個(gè)OP。因此我們?cè)谧鲞\(yùn)維的時(shí)候数焊,不妨好好的問自己幾個(gè)問題:

我點(diǎn)了鼠標(biāo)之后永淌,后端都干了什么事情? 需要和哪些服務(wù)交互 佩耳?

如果點(diǎn)完鼠標(biāo)以后遂蛀,報(bào)錯(cuò)了,需要如何進(jìn)行排查干厚?需要到哪里看日志李滴?需要如何處理?

問完這兩個(gè)問題蛮瞄,更次一點(diǎn)的是找研發(fā)詳細(xì)了解里面的運(yùn)行邏輯所坯,以及部署詳情,日志存放裕坊,出現(xiàn)問題如何排查等包竹。更好的辦法燕酷,是找研發(fā)要代碼籍凝,然后自己去看對(duì)應(yīng)按鈕后面代碼的邏輯。有的同學(xué)會(huì)說苗缩,我編碼能力差饵蒂,看不懂。這個(gè)不用擔(dān)心酱讶,相信我退盯,要基本看懂研發(fā)寫的代碼其實(shí)并沒有那么難。踐行一下你就會(huì)知道。等你看完研發(fā)的代碼渊迁,估計(jì)很快就可以自己寫一個(gè)類似的功能出來慰照。

2、你真的了解線上的架構(gòu)嗎琉朽?

現(xiàn)在數(shù)據(jù)庫高可用架構(gòu)比較多毒租,不管是單純地使用主從架構(gòu)、MHA箱叁、MMM墅垮、ndbcluster或是集成了LVS、keepalived等組件耕漱,我們都不應(yīng)該僅僅停留在正常情況下會(huì)搭建算色、操作和使用對(duì)應(yīng)的架構(gòu)。更多的是螟够,我們需要更深入的去了解里面運(yùn)作的機(jī)理灾梦。就以MHA為例,它是如何檢測(cè)某一個(gè)實(shí)例異常的齐鲤?各個(gè)組件之間如何配合斥废?當(dāng)做切換的時(shí)候,MHA是如何保證數(shù)據(jù)的一致性给郊?如果后端有多臺(tái)slave牡肉,它是如何選擇哪一臺(tái)從機(jī)做切換,并且淆九,其他從機(jī)如何處理统锤?只有深入了解了邏輯之后,在遇到故障和問題炭庙,你就能更快速的進(jìn)行定位饲窿,減少對(duì)業(yè)務(wù)的影響。此外你還能有針對(duì)性的做自動(dòng)化焕蹄,讓自己工作更輕松逾雄。這么好的事情,為什么不踐行一下腻脏?

3鸦泳、了解業(yè)務(wù)

還有一個(gè)問題,就是作為DBA要盡可能的去了解業(yè)務(wù)永品,了解業(yè)務(wù)的讀寫模型做鹰,了解業(yè)務(wù)相關(guān)架構(gòu),了解業(yè)務(wù)如何使用數(shù)據(jù)庫鼎姐。這樣做的好處是你能針對(duì)業(yè)務(wù)的場(chǎng)景給出更好的優(yōu)化建議钾麸,出了問題也能快速判斷對(duì)業(yè)務(wù)的影響情況更振。


<5>線上操作篇(經(jīng)驗(yàn))

DBA面對(duì)線上復(fù)雜的環(huán)境,尤其是面對(duì)高并發(fā)的環(huán)境饭尝,很容易導(dǎo)致線上故障肯腕,下面是整理的一些容易導(dǎo)致線上故障的操作以及規(guī)避誤操作的技巧,希望能對(duì)各位DBA有所幫助:

1钥平、修改或刪除數(shù)據(jù)前先備份乎芳,先備份,先備份(重要事情說三遍)

2帖池、線上變更一定要有回退方案

3奈惑、批量操作中間添加sleep

4、DDL操作要謹(jǐn)慎睡汹,對(duì)于大表的alter操作最好使用pt-online-schema-change

5肴甸、變更操作先在測(cè)試環(huán)境測(cè)試

6、重啟數(shù)據(jù)庫前先刷臟頁

7囚巴、禁止批量刪除大量的binlog

8原在、對(duì)于變更操作一定要寫詳細(xì)的操作步驟,并review

9彤叉、按enter之前再進(jìn)行一次環(huán)境確認(rèn)

10庶柿、如果你的操作可能會(huì)使?fàn)顩r變得更糟,請(qǐng)停止操作

11秽浇、快速處理磁盤滿浮庐,使用tune2fs釋放文件系統(tǒng)保留塊

12、連接數(shù)滿先修改內(nèi)存變量柬焕,而不是重啟审残,修改方式如下:

gdb -p pid -ex "set max_connections=1000" -batch

#pid是mysqld的對(duì)應(yīng)的pid


<6>心態(tài)篇

1、心細(xì)膽大

從某種意義上講斑举,DBA是一個(gè)高危的行業(yè)搅轿,不是開玩笑,看看下面的截圖就知道:


風(fēng)險(xiǎn)本身是個(gè)偽命題富玷,對(duì)于某些人來說是風(fēng)險(xiǎn)璧坟,但是對(duì)于某些人來說其實(shí)沒有風(fēng)險(xiǎn)。就像醫(yī)生做手術(shù)一樣赎懦,我們常人看來就是個(gè)非常危險(xiǎn)的事情雀鹃,但是對(duì)于醫(yī)生來講,其實(shí)并沒有什么風(fēng)險(xiǎn)(大部分的手術(shù))铲敛。因此風(fēng)險(xiǎn)在于你是否已經(jīng)了解深入褐澎,并且做足了功課会钝。這就要求我們?cè)谧鼍€上操作之前要心細(xì)伐蒋,有詳細(xì)的操作步驟工三,有想盡的回滾方案,做完備的測(cè)試先鱼。這些做完了以后俭正,你的膽子才能”大“起來,膽大是因?yàn)槟阈闹杏械妆号希闹杏凶孕诺Ф痢_@些自信都是前面你做功課帶給你的。

2宏多、勇于擔(dān)當(dāng)

出現(xiàn)問題本身并不可怕儿惫,可怕的是選擇逃避。我們要做的就是正視問題伸但,吸取教訓(xùn)肾请,勇于擔(dān)當(dāng)。做好case study更胖,防止團(tuán)隊(duì)在同一個(gè)地方跌倒兩次铛铁。

3、工匠精神

今天看到同事發(fā)的一個(gè)朋友圈很有感觸却妨,在沒有人注意的地方也不懈怠饵逐、不偷懶的精神,才是真正的工匠精神彪标。做為DBA也同樣非常需要這種精神倍权,對(duì)于遺留問題的跟進(jìn)不能偷懶;對(duì)于備份異常的巡檢不能偷懶捞烟;對(duì)于技術(shù)的積累不能偷懶账锹;工匠精神是我們DBA在做日常管理工作不可缺少的精神。


有句話說的是:”我們之所以經(jīng)常犯錯(cuò)坷襟,就是因?yàn)槲覀冏龅墓φn不夠“奸柬。如果你有很多功課拉下了,請(qǐng)安排時(shí)間逐步補(bǔ)上婴程,要堅(jiān)信一切都是閑淡中求來廓奕,熱鬧中使用。有的事情知道了本身并沒有什么了不起档叔,了不起的是那些堅(jiān)持踐行的人桌粉。踐行起來,你會(huì)發(fā)現(xiàn)你的人生從此不同衙四。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铃肯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子传蹈,更是在濱河造成了極大的恐慌押逼,老刑警劉巖步藕,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異挑格,居然都是意外死亡咙冗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門漂彤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雾消,“玉大人,你說我怎么就攤上這事挫望×⑷螅” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵媳板,是天一觀的道長(zhǎng)范删。 經(jīng)常有香客問我,道長(zhǎng)拷肌,這世上最難降的妖魔是什么到旦? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮巨缘,結(jié)果婚禮上添忘,老公的妹妹穿的比我還像新娘。我一直安慰自己若锁,他們只是感情好搁骑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著又固,像睡著了一般仲器。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仰冠,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天乏冀,我揣著相機(jī)與錄音,去河邊找鬼洋只。 笑死辆沦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的识虚。 我是一名探鬼主播肢扯,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼担锤!你這毒婦竟也來了蔚晨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤肛循,失蹤者是張志新(化名)和其女友劉穎铭腕,沒想到半個(gè)月后银择,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谨履,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熬丧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笋粟。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖析蝴,靈堂內(nèi)的尸體忽然破棺而出害捕,到底是詐尸還是另有隱情,我是刑警寧澤闷畸,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布尝盼,位于F島的核電站,受9級(jí)特大地震影響佑菩,放射性物質(zhì)發(fā)生泄漏盾沫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一殿漠、第九天 我趴在偏房一處隱蔽的房頂上張望赴精。 院中可真熱鬧,春花似錦绞幌、人聲如沸蕾哟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谭确。三九已至,卻和暖如春票渠,著一層夾襖步出監(jiān)牢的瞬間逐哈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工问顷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞠眉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓择诈,卻偏偏與公主長(zhǎng)得像械蹋,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子羞芍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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