mysql怎么恢復(fù)快照 mysql 恢復(fù)誤刪除的數(shù)據(jù)

怎么恢復(fù)mysql數(shù)據(jù)庫怎么恢復(fù)數(shù)據(jù)

簡單情況下:進(jìn)入原來mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫和ibdata1,進(jìn)行copy,就可回復(fù)原來的數(shù)據(jù)。

成都創(chuàng)新互聯(lián)從2013年成立,先為東至等服務(wù)建站,東至等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為東至企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

復(fù)雜情況下:

從另一臺機(jī)上把MySQL數(shù)據(jù)庫的mysql文件夾拷貝到本地機(jī)上,目的是恢復(fù)本地機(jī)對數(shù)據(jù)的訪問和操作。經(jīng)過如下幾種情況的操作。

1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結(jié)果,失敗:數(shù)據(jù)庫連接錯誤。

2. 卸載后重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數(shù)據(jù)備份,只把mysql\data文件夾全部內(nèi)容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結(jié)果,失?。簲?shù)據(jù)庫連接錯誤。將備份的數(shù)據(jù)還完覆蓋。結(jié)果,失敗,還是連接不上數(shù)據(jù)庫。

3. 卸載后重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的數(shù)據(jù)庫)拷貝進(jìn)D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到數(shù)據(jù)庫cf1和last,但是不能訪問,因?yàn)閿?shù)據(jù)全為零。明白了原來data里以數(shù)據(jù)庫命名的文件存儲的是數(shù)據(jù)庫的表結(jié)構(gòu),不是元數(shù)據(jù)。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數(shù)據(jù))拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數(shù)據(jù)可以訪問操作。

至此,操作終于成功。其實(shí)當(dāng)初在那臺機(jī)上把數(shù)據(jù)導(dǎo)出來,而不是現(xiàn)在直接把文件夾mysql復(fù)制過來會更容易恢復(fù)。但那臺機(jī)已經(jīng)重裝了系統(tǒng),也就是說MySQL失效了。

重裝系統(tǒng)后,mysql應(yīng)該怎么恢復(fù)過去

1、先在運(yùn)行中輸入services.msc,找到MysQL的服務(wù),將其停止;

2、然后備份新安裝的MY.INI和DATA這兩個目錄,直接將其原來mysql/data下的文件拷到新安裝的mysql/data目錄下即可;

3、啟動MysQL服務(wù)。該方法只在新安裝的數(shù)據(jù)庫與舊數(shù)據(jù)庫版本相同的情況下實(shí)驗(yàn)成果。重新打開navicat,發(fā)現(xiàn)原來的數(shù)據(jù)庫都可以使用了。

mysql誤刪表里的數(shù)據(jù)沒有備份的情況下怎么恢復(fù)

打開mysql的bin log功能:

對于mysql也是支持增量備份,但要打開mysql的bin log功能。

我們修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安裝目錄/my.ini

我們在[mysqld]下面加上log-bin一行代碼,如下面。

[mysqld]

log-bin=mysql-bin

復(fù)制代碼

加完后重起mysql即可。

某客戶更新數(shù)據(jù)的時候,誤刪了數(shù)據(jù)庫的內(nèi)容,因?yàn)閿?shù)據(jù)庫做了主從,但是沒有做備份(備份很重要?。。┬液瞄_啟了bin-log,之后只好把整個日志的記錄拿回來本地進(jìn)行恢復(fù)。

之后自己也做了一個簡單的測試,對數(shù)據(jù)進(jìn)行恢復(fù),具體如下:

1、新建一個表

CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;

2、插入多條數(shù)據(jù)

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2');

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3');

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');

3、查看數(shù)據(jù)并刪除

mysql select * from sn_test;

+-------+-----+

| name | age |

+---------+---+

| lynn1 | 1 |

| lynn2 | 2 |

| lynn3 | 3 |

| lynn4 | 4 |

+---------+-----+

4 rows in set (0.00 sec)

mysql delete from sn_test;

Query OK, 4 rows affected (0.00 sec)

mysql select * from sn_test;

Empty set (0.00 sec)

4、mysqlbinlog恢復(fù)數(shù)據(jù)

mysqlbinlog mysql-bin.000006 1.sql

查看1.txt里面數(shù)據(jù)插入的紀(jì)錄,把刪除之前的數(shù)據(jù)進(jìn)行恢復(fù)

mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123

重新登錄,查看數(shù)據(jù),OK,已經(jīng)成功恢復(fù)了

對于數(shù)據(jù)庫操作,應(yīng)該注意如下問題:

1、要常備份(全備,增量備份),出了問題可以最快恢復(fù)數(shù)據(jù);

2、操作數(shù)據(jù)庫前,要把需要操作的數(shù)據(jù)庫或者表dump出來;

3、需要把bin-log打開,就算沒有做上面的兩步,也可以通過日志恢復(fù)數(shù)據(jù)

網(wǎng)站題目:mysql怎么恢復(fù)快照 mysql 恢復(fù)誤刪除的數(shù)據(jù)
標(biāo)題鏈接:http://muchs.cn/article32/doesopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司