真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么找回更新 mysql如何更新數(shù)據(jù)

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

簡(jiǎn)單情況下:進(jìn)入原來mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫(kù)和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ù)雜情況下:

從另一臺(tái)機(jī)上把MySQL數(shù)據(jù)庫(kù)的mysql文件夾拷貝到本地機(jī)上,目的是恢復(fù)本地機(jī)對(duì)數(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ù)庫(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è)是原來MySQL里的數(shù)據(jù)庫(kù))拷貝進(jìn)D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到數(shù)據(jù)庫(kù)cf1和last,但是不能訪問,因?yàn)閿?shù)據(jù)全為零。明白了原來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里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數(shù)據(jù)可以訪問操作。

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

mysql:如何記錄更新或刪除的數(shù)據(jù),并恢復(fù)

給每條數(shù)據(jù)設(shè)置一個(gè)狀態(tài)字段為state。值為0的時(shí)候表示在回收站,刪除的時(shí)候改變狀態(tài)為0就行了。

不從數(shù)據(jù)庫(kù)清除。 如果要徹底刪除需要在回收站里操作。這時(shí)候刪除就直接刪除數(shù)據(jù)。為1的時(shí)候是正常顯示的。點(diǎn)擊恢復(fù)的時(shí)候改變狀態(tài)為1就行了。

mysql 執(zhí)行了 update,數(shù)據(jù)庫(kù)沒做備份,能還原嗎

以下情況可以恢復(fù)數(shù)據(jù):

1

innodb引擎表開啟了事務(wù),執(zhí)行dml語(yǔ)句,比如delete、update、insert之類,并且沒有提交即commit操作的話,可以執(zhí)行rollback進(jìn)行回滾恢復(fù)。如果是ddl操作,如drop、create、alter之類的操作時(shí)無效的

2

在進(jìn)行刪除操作之前有備份,比如mysqldump,物理備份數(shù)據(jù)文件之類的操作,那么可以恢復(fù)到刪除前的數(shù)據(jù)

3

如果你的刪除操作是直接對(duì)data下的文件進(jìn)行刪除,注意,不是粉碎文件操作,那么你可以嘗試用磁盤恢復(fù)軟件來找回被誤刪的數(shù)據(jù)文件;

除以上情況,其他真的是沒法恢復(fù)了,不過貌似很多公司號(hào)稱能夠恢復(fù),要收費(fèi),具體他們?cè)趺椿謴?fù)我就不曉得了。

我將mysql里面的一個(gè)數(shù)據(jù)表,讓我不小心update了,有什么辦法可以恢復(fù)????

1,有備份用備份恢復(fù)

2,無備份的話,有bin-log也可以,如果binlog為statement的話,恢復(fù)需要之前插入數(shù)據(jù)時(shí)的binlog文件才行;如果為row的話,可以恢復(fù)的,因?yàn)閞ow是記錄數(shù)據(jù),而不是語(yǔ)句;

執(zhí)行了一條錯(cuò)誤的SQL語(yǔ)句,那就需要去二進(jìn)制日至中尋找此語(yǔ)句的Position了,這是最準(zhǔn)確的,因?yàn)闀r(shí)間只精確到了秒(timestamp類型 ),你要知道S語(yǔ)句大概啥時(shí)間段執(zhí)行的....這些時(shí)跟你的出錯(cuò)情況有關(guān)系,需要自己根基實(shí)際情況分析得到 然后確認(rèn) 甚至還需要取舍

MySQL+workbench+local+instance誤刪怎么找回?

恢復(fù)整個(gè)數(shù)據(jù)庫(kù)首先,如果要恢復(fù)的數(shù)據(jù)庫(kù)是含有授權(quán)表的mysql數(shù)據(jù)庫(kù),將需要使用--skip-grant-tables選項(xiàng)運(yùn)行服務(wù)器。否則,服務(wù)器將抱怨無法找到授權(quán)表。在恢復(fù)表之后,執(zhí)行mysqladmin flush-privileges 來告訴服務(wù)器加載授權(quán)表,并用它們啟動(dòng)。將原數(shù)據(jù)庫(kù)目錄的內(nèi)容拷貝到其他的地方。例如,您可能會(huì)在稍后用它們進(jìn)行崩潰表的事后分析檢查(post-mortem examination)。用最新的備份文件重新加載數(shù)據(jù)庫(kù)。如果您打算使用由mysqldump 加載的文件,則需要將它們作為mysql的輸入。如果打算使用從數(shù)據(jù)庫(kù)中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該數(shù)據(jù)庫(kù)目錄中。但是,在這種情況下,應(yīng)該在拷貝這些文件之前關(guān)閉服務(wù)器,然后再重新啟動(dòng)它。用更新日志重做在進(jìn)行備份后又修改了數(shù)據(jù)庫(kù)表的查詢。對(duì)于所有可用的更新日志,可使用它作為mysql的輸入。指定--one-database 選項(xiàng),使mysql只對(duì)想要恢復(fù)的數(shù)據(jù)庫(kù)執(zhí)行查詢。如果您知道需要使用所有的更新日志文件,可在包含日志的目錄中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_namels 命令產(chǎn)生更新日志文件的單列列表,更新日志文件根據(jù)服務(wù)器生成的順序進(jìn)行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導(dǎo)致更新日志按錯(cuò)誤的順序使用)。您很可能必須使用某些更新日志。例如,如果自備份以來所產(chǎn)生的日志命名為update.392、pdate.393 等等,可以重新運(yùn)行它們中的命令:% mysql--one-database db_name updata.392% mysql--one-database db_name updata.393…如果正在運(yùn)行恢復(fù)并打算使用更新日志恢復(fù)由于失策的DROP DATA BASE、DROPTABLE或DELETE 語(yǔ)句而丟失的信息,應(yīng)確保先從更新日志中刪除這些語(yǔ)句?;謴?fù)單個(gè)的表恢復(fù)單個(gè)表是很困難的。如果有通過mysqldump 生成的備份文件并且它恰好不包含您想要的表數(shù)據(jù),則需要抽取相關(guān)的行并用它們作為mysql的輸入,這部分較容易。困難的是抽取應(yīng)用于該表的更新日志的片段。您會(huì)發(fā)現(xiàn): mysql_find_rows 實(shí)用程序?qū)@方面有幫助,它可以從更新日志中抽取多行查詢。另一種可能性是用另一個(gè)服務(wù)器恢復(fù)整個(gè)數(shù)據(jù)庫(kù),然后將所要的該表的文件拷貝到原始數(shù)據(jù)庫(kù)中。這實(shí)際很容易!在將文件拷貝回?cái)?shù)據(jù)庫(kù)目錄時(shí),應(yīng)確保原始數(shù)據(jù)庫(kù)的服務(wù)器關(guān)閉。

mysql執(zhí)行完的更新語(yǔ)句成功還能恢復(fù)原來的數(shù)據(jù)嗎

通過數(shù)據(jù)庫(kù)備份跟binlog日志記錄,可能恢復(fù)原來的數(shù)據(jù)

恢復(fù)步驟

a)創(chuàng)建新的數(shù)據(jù)庫(kù) create database rollback_db;

b)將數(shù)據(jù)庫(kù)備份倒入新創(chuàng)建的rollback_db中

c)找到數(shù)據(jù)庫(kù)備份的最后時(shí)間點(diǎn),并將mysqlbinlog中該時(shí)間點(diǎn)之后的命令操作記錄通過mysqlbinlog工具保存為sql命令文本

d)將sql命令文本倒入數(shù)據(jù)庫(kù),可能rollback_db就是需要恢復(fù)的db了

3.mysqlbinlog介紹

binlog基本定義:二進(jìn)制日志,也成為二進(jìn)制日志,記錄對(duì)數(shù)據(jù)發(fā)生或潛在發(fā)生更改的SQL語(yǔ)句,并以二進(jìn)制的形式保存在磁盤中;

作用:MySQL的作用類似于Oracle的歸檔日志,可以用來查看數(shù)據(jù)庫(kù)的變更歷史(具體的時(shí)間點(diǎn)所有的SQL操作)、數(shù)據(jù)庫(kù)增量備份和恢復(fù)(增量備份和基于時(shí)間點(diǎn)的恢復(fù))、Mysql的復(fù)制(主主數(shù)據(jù)庫(kù)的復(fù)制、主從數(shù)據(jù)庫(kù)的復(fù)制)

二進(jìn)制日志的信息:

文件位置:默認(rèn)存放位置為數(shù)據(jù)庫(kù)文件所在目錄下

文件的命名方式: 名稱為hostname-bin.xxxxx (重啟mysql一次將會(huì)自動(dòng)生成一個(gè)新的binlog)

狀態(tài)的查看:mysql show variables like '%log_bin%';

4.利用bin_log恢復(fù)數(shù)據(jù)

a)最長(zhǎng)用的就是回復(fù)指定數(shù)據(jù)端的數(shù)據(jù)了,可以直接恢復(fù)到數(shù)據(jù)庫(kù)中:?

mysqlbinlog? --start-date="2012-10-15 16:30:00" --stop-date="2012-10-15 17:00:00" mysql_bin.000001 |mysql -uroot -p123456?

亦可導(dǎo)出為sql文件,再導(dǎo)入至數(shù)據(jù)庫(kù)中:?

mysqlbinlog? --start-date="2012-10-15 16:30:00" --stop-date="2012-10-15 17:00:00" mysql_bin.000001 d:\1.sql?

source d:\1.sql?

b)指定開始\結(jié)束位置,從上面的查看產(chǎn)生的binary log我們可以知道某個(gè)log的開始到結(jié)束的位置,可以在恢復(fù)的過程中指定回復(fù)從A位置到B位置的log.需要用下面兩個(gè)參數(shù)來指定:?

--start-positon="50" //指定從50位置開始?

--stop-postion="100"http://指定到100位置結(jié)束


當(dāng)前文章:mysql怎么找回更新 mysql如何更新數(shù)據(jù)
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/hjjoos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部