以前用的是vista系統,最近重新安裝了一個windows 7 系統,系統改變了,以前的開發軟體也要重新安裝一次。在安裝mysql的時候,原來的資料肯定是丟失了,還好我重裝系統前進行的一次備份把mysql裡面data檔案夾下面的所有檔案全部copy了一份出來。
大家注意一下,在mysql5.0裡,data檔案夾放的位置和作業系統有關,在windows xp系統裡就在mysql安裝資料夾下,一般在Program Files 裡,而在windows vista 或者 7 下一般在世ProgramData檔案夾下(如果看不見,請選擇檔案夾選項把隱藏受保護的作業系統檔案勾去掉,並把現實隱藏檔案打上勾)。
看裡面的檔案ib_logfile0 和 ib_logfile1都是記錄檔,不是很重要,最要的檔案時ibdata1和檔案夾下的.frm檔案。先說一下這兩類檔案的大概作用。
l .frm檔案一般就是一般資料庫中的所有表的結構
l ibdata1檔案就是資料庫表中的資料
如果要備份,我覺得缺少這兩類檔案都不可以(如果有ibdata1沒有frm檔案,你還記得表結構應該在你重建立立表後應該也可以恢複)。
現在來看看是如何恢複的?
1. 停止mysql服務
右鍵電腦->服務和應用程式->服務->MySQL->停止
2. 刪掉原mysql資料庫中的data檔案夾
在ProgramData下找到mysql檔案夾,在進入mysql server ,刪除data檔案夾(建議先備份後刪除)
3. Copy備份的mysql資料庫中的data檔案夾
把以前備份的data檔案夾copy至mysql server檔案夾下(不要破壞原目錄結構)
4. 異常處理
重新啟動mysql伺服器,如果沒有錯誤的話,一般都是可以恢複mysql資料庫中的檔案的,包括表結構和表資料。但是在後面的幾次恢複中我出現了下面的錯誤
一開始還以為自己的備份資料破壞了,後面嘗試了好多,終於明白是記錄檔搞的鬼,把data檔案夾下面的兩個記錄檔刪除,在重新啟動mysql伺服器應該是OK的。
5. 恢複成功
在MySql資料庫開發中順利有幾點建議:
1. 在重裝系統前一定要把mysql資料庫中的data檔案夾進行備份;
2. 在做每個項目的時候,一定要備份所用到的資料庫,最好能產生sql檔案放到工程下面;
轉載請提供出處(http://www.blogjava.net/lishunli/archive/2010/01/09/308845.html),謝謝。