萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL數據庫InnoDB引擎下服務器斷電數據恢復

MySQL數據庫InnoDB引擎下服務器斷電數據恢復

mysql數據庫如果是突然斷電可能導致我們的mysql數據庫文件損壞了,下面我們一起和一聚教程小編來看InnoDB引擎下服務器斷電數據恢復教程。

說明:

線上的一台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失敗

 

4、啟動MySQL

service mysqld start

故障解決

此時頁面已正常打開。

ibdata1作用:InnoDB引擎下的表數據文件。

建議:數據庫一定要做好備份,恢復數據最好使用.sql備份文件導入。

copyright © 萬盛學電腦網 all rights reserved