MySQL數(shù)據(jù)庫(kù)InnoDB引擎下服務(wù)器斷電數(shù)據(jù)恢復(fù)方法
說(shuō)明:
線上的一臺(tái)MySQL數(shù)據(jù)庫(kù)服務(wù)器突然斷電,造成系統(tǒng)故障無(wú)法啟動(dòng),重新安裝系統(tǒng)后,找到之前的MySQL數(shù)據(jù)庫(kù)文件夾。
問(wèn)題:
通過(guò)復(fù)制文件的方式對(duì)之前的MySQL數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),發(fā)現(xiàn)在程序調(diào)用時(shí)找不到數(shù)據(jù)庫(kù)中的表,造成網(wǎng)站無(wú)法正常訪問(wèn)。
分析:
1、MySQL數(shù)據(jù)庫(kù),使用拷貝文件方式來(lái)恢復(fù)數(shù)據(jù)庫(kù),只支持MyISAM引擎;
2、如果有數(shù)據(jù)庫(kù)或數(shù)據(jù)表使用了InnoDB引擎,恢復(fù)的時(shí)候,必須連同MySQL數(shù)據(jù)庫(kù)目錄下的ibdata1文件一起拷貝過(guò)來(lái)。
解決辦法:
1、停止MySQL服務(wù)
service mysqld stop
2、找之前的備份數(shù)據(jù)庫(kù)文件
cd /home/mysql_bak/mysql/ #進(jìn)入MySQL備份目錄
ibdata1 #需要此文件
3、拷貝ibdata1文件到數(shù)據(jù)庫(kù)相應(yīng)目錄
cp /home/mysql_bak/mysql/ibdata1 /usr/local/mysql/data/ibdata1 #拷貝文件到現(xiàn)在的數(shù)據(jù)庫(kù)目錄
chown mysql.mysql /usr/local/mysql/data/ibdata1 #設(shè)置權(quán)限位mysql用戶和用戶組
rm /usr/local/mysql/data/ib_logfile0 #刪除現(xiàn)有日志文件,否則啟動(dòng)MySQL失敗
rm /usr/local/mysql/data/ib_logfile1 #刪除現(xiàn)有日志文件,否則啟動(dòng)MySQL失敗
4、啟動(dòng)MySQL
service mysqld start
故障解決
此時(shí)頁(yè)面已正常打開(kāi)。
ibdata1作用:InnoDB引擎下的表數(shù)據(jù)文件。
建議:數(shù)據(jù)庫(kù)一定要做好備份,恢復(fù)數(shù)據(jù)最好使用.sql備份文件導(dǎo)入。
至此,MySQL數(shù)據(jù)庫(kù)InnoDB引擎下服務(wù)器斷電數(shù)據(jù)恢復(fù)教程完成。
相關(guān)文章
Mysql入門(mén)基礎(chǔ) 數(shù)據(jù)庫(kù)創(chuàng)建篇
Mysql入門(mén)基礎(chǔ) 數(shù)據(jù)庫(kù)創(chuàng)建篇,剛接觸php與mysql的朋友可以參考下。多寫(xiě)多測(cè)試。2010-04-04python 連接數(shù)據(jù)庫(kù)mysql解壓版安裝配置及遇到問(wèn)題
今天學(xué)習(xí)python連接數(shù)據(jù)庫(kù),就想安裝一下mysql數(shù)據(jù)庫(kù),沒(méi)想到小小的數(shù)據(jù)庫(kù)也遇到了不少挫折,所以我就把自己的安裝過(guò)程以及問(wèn)題寫(xiě)出來(lái)分享給大家,需要的朋友可以參考下2019-06-06關(guān)于Mysql8.0版本驅(qū)動(dòng)getTables返回所有庫(kù)的表問(wèn)題淺析
這篇文章主要給大家介紹了關(guān)于Mysql 8.0版本驅(qū)動(dòng)getTables返回所有庫(kù)的表問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12mysql數(shù)據(jù)庫(kù)索引損壞及修復(fù)經(jīng)驗(yàn)分享
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)索引損壞及修復(fù)經(jīng)驗(yàn)分享,需要的朋友可以參考下2015-06-06mysql啟用skip-name-resolve模式時(shí)出現(xiàn)Warning的處理辦法
在優(yōu)化MYSQL配置時(shí),加入 skip-name-resolve ,在重新啟動(dòng)MYSQL時(shí)檢查啟動(dòng)日志,發(fā)現(xiàn)有警告信息2012-07-07解決啟動(dòng)MySQL服務(wù)時(shí)出現(xiàn)"mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止"的問(wèn)題
某一天我的MySQL啟動(dòng)突然出現(xiàn)了異常:“mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止,某些在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止,”?,小編在網(wǎng)絡(luò)上面找了很多方法,MySQL啟動(dòng)成功了,但是第二天開(kāi)啟MySQL時(shí)還是出現(xiàn)了這個(gè)問(wèn)題,現(xiàn)把兩種方法總結(jié)一下,需要的朋友可以參考下2023-11-11將MySQL從MyISAM轉(zhuǎn)換成InnoDB錯(cuò)誤和解決辦法
原來(lái)自己用的是為了裝的, 所以在設(shè)置database usage(如下圖1)的時(shí)候按照discuz官方的建議,選的都是Non-Transactional Database Only(只支持MyISAM數(shù)據(jù)引擎的非事務(wù)數(shù)據(jù)庫(kù)),用MyISAM數(shù)據(jù)庫(kù),還沒(méi)涉及到需要InnoDB,因此打算直接不加載INNODB引擎。2011-09-09Mysql報(bào)錯(cuò)1292:Incorrect datetime value for 
本文主要介紹了Mysql報(bào)錯(cuò)1292:Incorrect datetime value for column create_time at row 1 解決方案,1292 是指插入或更新操作時(shí),日期或時(shí)間值不正確引起的錯(cuò)誤,下面就來(lái)介紹一下2024-02-02mysql5.6 解析JSON字符串方式(支持復(fù)雜的嵌套格式)
這篇文章主要介紹了mysql5.6 解析JSON字符串方式(支持復(fù)雜的嵌套格式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07win10 mysql 5.6.35 winx64免安裝版配置教程
這篇文章主要為大家詳細(xì)介紹了win10 mysql 5.6.35 winx64免安裝版配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05