標籤:
說明:
線上的一台MySQL資料庫伺服器突然斷電,造成系統故障無法啟動,重新安裝系統後,找到之前的MySQL資料庫檔案夾。
問題:
通過複製檔案的方式對之前的MySQL資料庫進行恢複,發現在程式調用時找不到資料庫中的表,造成網站無法正常訪問。
分析:
1、MySQL資料庫,使用拷貝檔案方式來恢複資料庫,只支援MyISAM引擎;
2、如果有資料庫或資料表使用了InnoDB引擎,恢複的時候,必須連同MySQL資料庫目錄下的ibdata1檔案一起拷貝過來。
解決辦法:
1、停止MySQL服務
service mysqld stop
2、找之前的備份資料庫檔案
cd /home/mysql_bak/mysql/ #進入MySQL備份目錄
ibdata1 #需要此檔案
3、拷貝ibdata1檔案到資料庫相應目錄
cp /home/mysql_bak/mysql/ibdata1 /usr/local/mysql/data/ibdata1 #拷貝檔案到現在的資料庫目錄
chown mysql.mysql /usr/local/mysql/data/ibdata1 #設定許可權位mysql使用者和使用者組
rm /usr/local/mysql/data/ib_logfile0 #刪除現有記錄檔,否則啟動MySQL失敗
rm /usr/local/mysql/data/ib_logfile1 #刪除現有記錄檔,否則啟動MySQL失敗
系統營運 www.osyunwei.com 溫馨提醒:系統營運原創內容©著作權,轉載請註明出處及原文連結
4、啟動MySQL
service mysqld start
故障解決
此時頁面已正常開啟。
ibdata1作用:InnoDB引擎下的表資料檔案。
建議:資料庫一定要做好備份,恢複資料最好使用.sql備份檔案匯入。
至此,MySQL資料庫InnoDB引擎下伺服器斷電資料恢複教程完成。
MySQL資料庫InnoDB引擎下伺服器斷電資料恢複