程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫InnoDB引擎下服務器斷電數據恢復方法

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

編輯:關於MYSQL數據庫

說明:

線上的一台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備份文件導入。

至此,MySQL數據庫InnoDB引擎下服務器斷電數據恢復教程完成。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved