最近公司服務器上的 mysql 忽然崩盤,引起了一系列的血案。連續三天一直在想辦法,考慮怎樣恢復數據,始終是徒勞。中間老闆請了專門作數據恢復的大神,最後在週五下午終於恢復了全部數據。果真,大神都不是這麼簡單的。能從 MySQL 的 bin-log 日誌及 ib-log 數據日誌中全盤恢復數據,這是我不可以想象的。html
我自覺得很簡單的,也是最直接的方法,直接文件恢復,在聽了大神的說法後,被無情拋棄了。咱們在 mysql 崩盤以後,一直圍繞着遠程鏈接 mysql 的報錯,及啓動 mysql 服務的報錯,和數據日誌報的錯打轉,但就是沒有實質性的進展。這時候一位同事,腦子不知道怎麼想的,直接按照他在網上教程上的說法,初始化了 mysql 數據庫./scripts/mysql_install_db --default-file=/etc/my.conf
。這時候的我看到存放 mysql 數據的目錄下滿滿的都是 bin-log 文件,我覺得數據都還在,但考慮到數據不能被污染,也是聽了那同事的建議(他在拷貝數據文件下的文件到本地,慢得要死),就直接 cp data/* databackup/
,沒有考慮到,文件恢復,是要保留現場的,最好是關閉服務器上全部進程,取消磁盤的掛載(固然這不現實)。這樣的大規模的磁盤操做以後,想要恢復,基本已經是奢望(我本身不服氣,還真的用 retundelete 恢復了一下,確實渣都不剩一點了)。mysql
公司的數據庫數據丟失還不是最惱人的,在 mysql 掛掉當天以前,到今天才找到緣由的遠程鏈接掛掉纔是。在那天掛掉以前,我想用 putty 鏈接一下我本身的服務器(就是如今這臺)。但是忽然告訴我,The Authenticity of host xxx can't be established,什麼什麼的不能建立,而後往本地 known_hosts 添加這一主機。這個很像在我使用 putty 第一次鏈接某個服務器的時候回彈出來的內容,但想一想又有點不同。我沒怎麼考慮,就直接點了 yes。而後輸入帳號,回車,直接彈框報錯,permission denied (publickey)。以後這個就像魔障同樣一直不停的出如今個人眼前。我用 git bush 中的 ssh 直接登陸,也是這個錯。中間試了一下其餘的服務器,有的直接登陸了,有的也登不了。而後中間還提醒說,有多是中間人攻擊,也有多是 host key 發生了變化(本地仍是服務器,忘了)。感受一團糟,什麼頭緒都沒有,而後還要不停地盯着公司的服務器想辦法恢復。太累了。以後有找阿里雲去申請工單。他說遠程鏈接沒問題,分析得也對,由於我家裏的電腦是能夠登陸的。而後就是查看服務器上的 ssh 配置文件,防火牆,阿里雲控制檯的安全組,都沒改過,確認了一下,忍不住按照各類教程,來回改,可是核心的 PasswordAuthentication yes 是沒有問題的,防火牆我壓根沒開,而後安全組也是最簡化版本的。這時候就讓我抓包試試,我也抓包了,但是他分析了一下,得出的結論是,沒有問題,三次握手成功,沒有 reset。而後最終版的建議就是,換一個 ssh 工具。沒辦法,若是真的是工具問題,那就換吧!下了個破解版的 XShell 和 secureCRT,居然沒有讓我輸入密碼,如 XSell 直接就只有一個設置公鑰文件的選項。這就把我帶溝裏了。我想的是,那確定是服務器沒有開啓密碼登陸受權的方式啊,可是我並無改過這些配置,尤爲是其餘的服務器也是這種狀況。這就是一個死衚衕。
而後,今天加班,早早地過來找緣由,各類錯誤,各類搜,方法也是試了好多種了。找到一篇關於遠程鏈接錯誤排查的文章,是阿里雲上的。https://help.aliyun.com/knowledge_detail/41470.html?spm=a2c4g.11186623.4.1.40b66cd3DyxjAwgit
說先排查服務器,配置,ssh 服務是否開啓,還有就是服務器本地鏈接 ssh localhost/127.0.0.1
是否成功。這些服務器端的都檢查了一遍,沒有問題。而後是客戶端,不一樣的 ssh 客戶端依然沒法登陸,我甚至用了同事的電腦下了一個 putty,而後鏈接,依然是這樣的錯誤。因此客戶端應該是沒有問題的。而後就是中間網絡了。telnent 服務器的端口,也沒問題能夠通。以後文章下面鏈接的一些錯誤排查,有相同的,如:SSH 登陸時出現以下錯誤:Disconnected:No supported authentication methods available,但是,它仍是讓我去修改 ssh 配置文件,這就讓心情一會兒糟糕起來了。這樣是不行的呀。sql
恰好排查到網絡層級,我想到網絡層,換一個網是否是就行了,我家裏的能鏈接,這不就是佐證嗎?趕忙開個熱點,連上 wlan,而後打開 putty,鏈接服務器,而後就像第一次鏈接同樣,彈出存儲公鑰之類的提示信息。確認後,輸入 root,回車,呼~,從前的我又回來了。數據庫
問題找到了,公司在路由器接入的地方加裝了一臺服務器,也作了一些配置。這可能就是致使提醒中間人攻擊的緣由。真可怕。終於找到了緣由,否則我感受本身都要快崩潰了。輕鬆連上服務器,上傳文件,svn 備份。ok,下班!安全
注:中間有太重啓服務器實例之類的,致使 svn 服務掛了,而後早上在家準備備份數據的,發現 cornerstone 中止工做了,報錯了。mmp,排查過程當中,把它啓動了,而後 svn 沒問題了。服務器