MYSQL數(shù)據(jù)轉(zhuǎn)移和“恢復(fù)”
今天遇到了一個(gè)問(wèn)題,需要把項(xiàng)目環(huán)境配置好,因?yàn)橹坝兄匦掳惭b過(guò)軟件,導(dǎo)致一些配置改變了。
此處要說(shuō)的是Wampserver這款集成環(huán)境,當(dāng)初我是裝了兩個(gè)不同版本的WAMP,導(dǎo)致數(shù)據(jù)庫(kù)的內(nèi)容“丟失“了,當(dāng)初有點(diǎn)擔(dān)心,因?yàn)槎际切┬№?xiàng)目,自己沒(méi)有備份的習(xí)慣。。。
可是后來(lái)一想,不對(duì)啊,我只是另外裝了個(gè)數(shù)據(jù)庫(kù),又沒(méi)有DELETE掉原來(lái)的數(shù)據(jù)文件,所以通過(guò)my.ini文件查看數(shù)據(jù)庫(kù)的指向,把WAMPSERVER默認(rèn)配置的路徑。
以下是我的安裝路徑(data文件夾存放的就是數(shù)據(jù)庫(kù)內(nèi)容,只要這里面的數(shù)據(jù)沒(méi)有刪掉就沒(méi)事,如果刪掉了可能需要其他方式恢復(fù),在此只討論如何將數(shù)據(jù)庫(kù)內(nèi)容轉(zhuǎn)移)
basedir=D:/wampserver/wamp/bin/mysql/mysql5.6.17
log-error=D:/wampserver/wamp/logs/mysql.log
datadir=D:/wampserver/wamp/bin/mysql/mysql5.6.17/data
把這些路徑改成我原本有數(shù)據(jù)內(nèi)容的數(shù)據(jù)庫(kù)相對(duì)應(yīng)路徑(E盤),發(fā)現(xiàn)然并卵。。。將路徑改回來(lái)
無(wú)法通過(guò)直接改變數(shù)據(jù)指向來(lái)調(diào)用數(shù)據(jù)文件,那么就復(fù)制唄。
于是打開(kāi)E盤的mysql下面的data文件夾,里面有項(xiàng)目數(shù)據(jù)庫(kù),每個(gè)項(xiàng)目有一個(gè)對(duì)應(yīng)的文件夾,因?yàn)閃AMPSERVER默認(rèn)是INNODB引擎,所以里面只有.frm和.opt文件,將這些文件夾復(fù)制到新的MYSQL對(duì)應(yīng)的路徑下,就可以看到MYSQL已經(jīng)可以查詢到這些項(xiàng)目的數(shù)據(jù)庫(kù)和表了,但是當(dāng)你想查詢表內(nèi)容的時(shí)候會(huì)提示表結(jié)構(gòu)和索引不存在,貌似是這錯(cuò)誤提示(反正看到了我自然就知道了,記不下他的ERROR MESSAGE),因?yàn)槿鄙僖粋€(gè)文件,就是在MYSQL的DATA文件夾下的ib_data1文件,另外還有兩個(gè)日志文件,不過(guò)這里只要將IB_DATA1文件復(fù)制過(guò)去就可以了,復(fù)制的時(shí)候如果WAMPSERVER沒(méi)有退出,會(huì)提示出錯(cuò),一樣無(wú)法查詢數(shù)據(jù),所以先退出服務(wù)再?gòu)?fù)制這個(gè)文件,重啟軟件,就可以查詢了。
重要的事說(shuō)一遍!常備份文件!!!