Linux下mysql數據庫損壞恢復

最近想買服務器上碰到一個坑,購買的阿里雲服務器,20G的系統盤,前任那個傢伙把mysql安裝在系統盤,並且datadir也是定位在系統盤。終於,撐爆了,異常了,mysql服務無法啓動,好在將datadir下的數據文件全部都做了備份。特別是ibdata1文件做了備份。

關於ibdata1文件的作用在百度裏面查詢到的信息如下:


這個文件超級大, 查了一下, 大概的作用如下

是儲存的格式
INNODB類型數據狀態下,
ibdata用來儲存文件的數據
而庫名的文件夾裏面的那些表文件只是結構而已

由於mysql4.1默認試innodb,所以這個文件默認就存在了
http://man.chinaunix.net/database/mysql/inonodb_zh/2.htm 這個鏈接試innodb的中文參考, innodb的東西可以在my.ini中設置


既然有完整的ibdata1和每個數據庫表的結構,那麼重新安裝mysql,並且重新定位datadir的位置。

刪除所有與mysql相關的目錄後,系統盤並沒有釋放太多數據,檢查了好久,也通過各種方法進行系統盤清理。效果不明顯,後來想到服務器上面安裝有jboss,每次啓動的時候使用nohup run.sh -b 0.0.0.0  然後發現nohup.out這個文件是非常大的。

於是在系統盤搜索了一下 find / -name nohup.out

果然,好傢伙一下子佔了2G的大小,馬上將jboss重新mv定位到了掛載的500G的數據盤上去了。系統盤的空間解決完畢後,就重新安裝mysql,然後還原數據。

其實,說來並不複雜,安裝mysql就不贅述了,安裝完畢後,停止mysql服務,將之前備份好的文件移到到現在安裝的datadir目錄下。 重啓mysql服務, 再登陸到數據庫發現原來所有的數據和表都在了,包括數據庫的用戶名和密碼都是原來的了。

以此爲記錄!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章