新聞中心
怎么恢復(fù)mysql數(shù)據(jù)庫(kù)怎么恢復(fù)數(shù)據(jù)
簡(jiǎn)單情況下:進(jìn)入原來(lái)mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫(kù)和ibdata1,進(jìn)行copy,就可回復(fù)原來(lái)的數(shù)據(jù)。
石柱土家族網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,石柱土家族網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為石柱土家族1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的石柱土家族做網(wǎng)站的公司定做!
復(fù)雜情況下:
從另一臺(tái)機(jī)上把MySQL數(shù)據(jù)庫(kù)的mysql文件夾拷貝到本地機(jī)上,目的是恢復(fù)本地機(jī)對(duì)數(shù)據(jù)的訪問(wèn)和操作。經(jīng)過(guò)如下幾種情況的操作。
1.
在本地重裝MySQL(安裝目錄D:\Program
Files\MySQL\MySQL
Server
5.0),直接把mysql文件夾拷貝至D:\Program
Files\MySQL\MySQL
Server
5.0\。結(jié)果,失敗:數(shù)據(jù)庫(kù)連接錯(cuò)誤。
2.
卸載后重裝MySQL,將D:\Program
Files\MySQL\MySQL
Server
5.0\下的數(shù)據(jù)備份,只把mysql\data文件夾全部?jī)?nèi)容拷貝到D:\Program
Files\MySQL\MySQL
Server
5.0\data下。結(jié)果,失敗:數(shù)據(jù)庫(kù)連接錯(cuò)誤。將備份的數(shù)據(jù)還完覆蓋。結(jié)果,失敗,還是連接不上數(shù)據(jù)庫(kù)。
3.
卸載后重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個(gè)是原來(lái)MySQL里的數(shù)據(jù)庫(kù))拷貝進(jìn)D:\Program
Files\MySQL\MySQL
Server
5.0\data。連接成功,在Navicat
for
MySQL里看到數(shù)據(jù)庫(kù)cf1和last,但是不能訪問(wèn),因?yàn)閿?shù)據(jù)全為零。明白了原來(lái)data里以數(shù)據(jù)庫(kù)命名的文件存儲(chǔ)的是數(shù)據(jù)庫(kù)的表結(jié)構(gòu),不是元數(shù)據(jù)。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲(chǔ)了元數(shù)據(jù))拷貝到D:\Program
Files\MySQL\MySQL
Server
5.0\data里,代替原來(lái)的ibdata1文件。重啟電腦,打開Navicat
for
MySQL,連接成功,數(shù)據(jù)可以訪問(wèn)操作。
至此,操作終于成功。其實(shí)當(dāng)初在那臺(tái)機(jī)上把數(shù)據(jù)導(dǎo)出來(lái),而不是現(xiàn)在直接把文件夾mysql復(fù)制過(guò)來(lái)會(huì)更容易恢復(fù)。但那臺(tái)機(jī)已經(jīng)重裝了系統(tǒng),也就是說(shuō)MySQL失效了。
mysql數(shù)據(jù)表內(nèi)容刪除后怎么恢復(fù)
在解決的過(guò)程中,以下幾種嘗試:
1.如果開啟了日志,直接mysqlbinlog 使用日志恢復(fù)即可。
2.如果不是刪除了一個(gè)表的部分?jǐn)?shù)據(jù),而是刪除整個(gè)表,那么可以在刪除后馬上用磁盤數(shù)據(jù)恢復(fù)軟件嘗試恢復(fù)。(因?yàn)閯h除表后會(huì)有文件被刪除,而刪除表的部分?jǐn)?shù)據(jù),文件還是存在)
3.找數(shù)據(jù)恢復(fù)的公司,使用工具分析ibdata1(分析過(guò)程參考一頁(yè)一頁(yè)查看有沒有歷史記錄存在,使用ibdata1恢復(fù)數(shù)據(jù),應(yīng)該是在了解數(shù)據(jù)表結(jié)構(gòu)的前提下,數(shù)據(jù)庫(kù)除ibdata1外其他數(shù)據(jù)受損不能正常使用數(shù)據(jù)庫(kù)時(shí)嘗試,而不是刪了表數(shù)據(jù)后恢復(fù)什么的。(事實(shí)上,這個(gè)文件是存儲(chǔ)現(xiàn)有表數(shù)據(jù)的,其實(shí)也可以設(shè)置成每個(gè)表一個(gè)文件。)
4.mysql下有ib_logfile0和ib_logfile1兩個(gè)文件,其實(shí)這兩個(gè)文件里,記錄了Mysql的一些事物日志,用于事務(wù)的前滾后滾,是Mysql自身使用的,這個(gè)文件用文本工具打開后,有很多亂碼,但卻可以查找到被刪除的少量數(shù)據(jù)的insert記錄,極少數(shù)的亂碼通過(guò)前后語(yǔ)句找出了原文,最終通過(guò)事物日志恢復(fù)了刪除的文件。
注:用事物日志恢復(fù),需要幾個(gè)前提。
1:知道被刪除數(shù)據(jù)的大概位置,不要這邊查找,那邊又不斷有新數(shù)據(jù)插入。
2:因?yàn)橛泻芏鄟y碼,適用于查找少量數(shù)據(jù),而不是用作大量數(shù)據(jù)的恢復(fù),浪費(fèi)體力。
3:如果二進(jìn)制日志沒開,沒有備份,那么只能用這種方法恢復(fù)了。
重裝系統(tǒng)后,mysql應(yīng)該怎么恢復(fù)過(guò)去
1、先在運(yùn)行中輸入services.msc,找到MysQL的服務(wù),將其停止;
2、然后備份新安裝的MY.INI和DATA這兩個(gè)目錄,直接將其原來(lái)mysql/data下的文件拷到新安裝的mysql/data目錄下即可;
3、啟動(dòng)MysQL服務(wù)。該方法只在新安裝的數(shù)據(jù)庫(kù)與舊數(shù)據(jù)庫(kù)版本相同的情況下實(shí)驗(yàn)成果。重新打開navicat,發(fā)現(xiàn)原來(lái)的數(shù)據(jù)庫(kù)都可以使用了。
文章名稱:mysql怎么恢復(fù),mysql怎么恢復(fù)表
鏈接分享:http://www.ef60e0e.cn/article/phhjoc.html