亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql二進(jìn)制日志文件恢復(fù)數(shù)據(jù)庫(kù)

 更新時(shí)間:2014年08月26日 09:56:43   投稿:hebedich  
喜歡的在服務(wù)器或者數(shù)據(jù)庫(kù)上直接操作的兄弟們你值得收藏下!不然你就悲劇了。-----(當(dāng)然我也是在網(wǎng)上搜索的資料!不過(guò)自己測(cè)試通過(guò)了的!)

二進(jìn)制日志的文件的作用

    mysql二進(jìn)制日志文件用來(lái)記錄所有用戶對(duì)數(shù)據(jù)庫(kù)操作,即記錄用戶對(duì)數(shù)據(jù)庫(kù)操作的sql語(yǔ)句。如果有此文件,當(dāng)數(shù)據(jù)庫(kù)發(fā)生意外時(shí),可以通過(guò)此文件查看到用戶在此文件記錄的時(shí)間段內(nèi)用戶所做的操作,再和數(shù)據(jù)庫(kù)備份配合使用,即可再現(xiàn)用戶操作,使數(shù)據(jù)庫(kù)恢復(fù)。

二進(jìn)制日志文件的弊端

二進(jìn)制日志文件開(kāi)啟后,所有對(duì)數(shù)據(jù)庫(kù)操作的記錄均會(huì)被記錄到此文件,

所以,當(dāng)長(zhǎng)時(shí)間開(kāi)啟之后,日志文件會(huì)變得很大,占用磁盤(pán)空間。

使用二進(jìn)制日志文件恢復(fù)數(shù)據(jù)庫(kù)

開(kāi)啟日志文件

mysql默認(rèn)是不開(kāi)啟日志文件的功能的,需要我們手動(dòng)開(kāi)啟。操作如下:

1、  打開(kāi)mysql安裝目錄\my.ini(windows系統(tǒng)是my.ini文件,linux是my.cnf文件)。

2、  找到[mysqld]這個(gè)標(biāo)簽,在此標(biāo)簽下面一行,添加語(yǔ)句:log-bin=binary-log。上面語(yǔ)句中,log-bin說(shuō)明要開(kāi)啟二進(jìn)制日志文件,binary-log是二進(jìn)制日志文件的名字。

(測(cè)試的時(shí)候我設(shè)置的:log-bin=d:/mysql_log/logbin_ouyang.log)

3、  重啟mysql服務(wù)??梢栽趍ysql安裝目錄\data 文件夾下看到“binary-log.數(shù)字編號(hào)”文件,

   如binary-log.000001。以后每重啟一次mysql服務(wù),都會(huì)重新生成二進(jìn)制日志文件,

   文件名中的數(shù)字編號(hào)依次遞增。

(你的上一步給出的文件名,加了個(gè)序號(hào) 還有一個(gè)總的文件 index文件 如圖1:)

 

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

使用日志文件恢復(fù)數(shù)據(jù)庫(kù)必須要有一個(gè)數(shù)據(jù)庫(kù)備份(只要是在二進(jìn)制日志文件功能開(kāi)啟之后備份的就行)?;謴?fù)數(shù)據(jù)庫(kù)時(shí),可以通過(guò)時(shí)間恢復(fù),也可以通過(guò)操作點(diǎn)恢復(fù)。

1、通過(guò)時(shí)間恢復(fù)方法如下:

如果我在2011-04-02 00:00:00時(shí)刻開(kāi)啟了二進(jìn)制日志文件功能,并備份了數(shù)據(jù)庫(kù)文件。且在2011-04-02 12:00:00數(shù)據(jù)庫(kù)發(fā)生異常,需要恢復(fù)到2011-04-02 10:00:00。則操作如下:

l         用備份將數(shù)據(jù)庫(kù)回復(fù)到2011-04-02 00:00:00時(shí)候的狀態(tài)。

l         在命令行輸入如下命令:

 

mysqlbinlog --stop-date="你想要恢復(fù)的時(shí)間"  日志文件的目錄\binary-log.000001 | mysql -u root –p

(D:\mysql_log>mysqlbinlog logbin_ouyang.000007 --stop-date="2011-10-23 15:05:00"|mysql -uroot -proot)

這樣,系統(tǒng)會(huì)自動(dòng)執(zhí)行從二進(jìn)制日志有記錄開(kāi)始截止到2011-04-02 10:00:00,用戶所做過(guò)的所有操作。與stop-date對(duì)應(yīng)的,還有start-date屬性,可以設(shè)定執(zhí)行記錄的開(kāi)始時(shí)間。也可以兩個(gè)屬性都設(shè)置。

2、通過(guò)操作點(diǎn)恢復(fù)方法如下:

在命令行中輸入mysqlbinlog D:\binary-log.000003 > D:\log.txt,執(zhí)行后打開(kāi)log.txt,

查看里面語(yǔ)句,可以發(fā)現(xiàn):在每個(gè)操作之前,都會(huì)有一個(gè)獨(dú)特的編號(hào),如下紅字顯示:

/*!*/;

# at 450 /*編號(hào)450*/

#110402 15:31:50 server id 1 end_log_pos 529     Query    thread_id=2   exec_time=0  error_code=0

SET TIMESTAMP=1301729510/*!*/;

DROP TABLE `jwc`

此編號(hào)隨著操作數(shù)增多而變大。和時(shí)間一樣是一個(gè)標(biāo)記,通過(guò)操作點(diǎn)恢復(fù)的語(yǔ)句如下:

mysqlbinlog --stop-position="450" mysql安裝目錄\data\binary-log.000001  | mysql -u root –p

這樣,系統(tǒng)會(huì)自動(dòng)執(zhí)行二進(jìn)制日志中編號(hào)最低的語(yǔ)句到編號(hào)450語(yǔ)句。

與stop-position對(duì)應(yīng)的,還有start-position屬性,可以設(shè)定執(zhí)行記錄的開(kāi)始編號(hào)。

附:(你應(yīng)該看看)

1.0       mysqlbinlog 是mysql自帶的一個(gè)日志操作工具!

2.0       如果直接打開(kāi)log文件 可能會(huì)是亂碼,所以我們一般會(huì):

      D:\mysql_log>mysqlbinlog logbin_ouyang.000003 >log_3.txt  復(fù)制下 然后用記事本打開(kāi)!

   就可以清楚的看到 操作的編號(hào)了 或者說(shuō)(行號(hào))

3.0       如果發(fā)生了錯(cuò)誤的操作!如果可以的話!你應(yīng)該立馬停止數(shù)據(jù)庫(kù)!然后恢復(fù)數(shù)據(jù)!

4.0       如果只是去掉某一個(gè)語(yǔ)句,你可以選擇恢復(fù)兩次 ,如圖:

  

D:\mysql_log>mysqlbinlog logbin_ouyang.000009 --stop-position=10625|mysql -uroot
     -proot

   D:\mysql_log>mysqlbinlog logbin_ouyang.000009 --start-position=10843|mysql -uroo

     t –proot

5.0 如果發(fā)生 Could not read entry at offset 1478: Error in log format or read error. 類似的錯(cuò)誤!

   請(qǐng)檢查你的編號(hào)是否正確!注意這個(gè)編號(hào) 不是一些編輯器顯示的那個(gè)行號(hào)哦,# at 450 /

經(jīng)常delete 、update錯(cuò)了!所有給自己個(gè)文檔!當(dāng)然我也希望你永遠(yuǎn)的用不上這個(gè)文檔 ! 周末愉快! (排版有的亂哈!多多包涵?。?/p>

相關(guān)文章

  • mysql Innodb表空間卸載、遷移、裝載的使用方法

    mysql Innodb表空間卸載、遷移、裝載的使用方法

    從MySQL的Innodb特性中我們知道,Inndob的表空間有共享和獨(dú)享的特點(diǎn),如果是共享的。則默認(rèn)會(huì)把表空間存放在一個(gè)文件中(ibdata1),當(dāng)開(kāi)啟獨(dú)享表空間參數(shù)Innodb_file_per_table時(shí),會(huì)為每個(gè)Innodb表創(chuàng)建一個(gè).ibd的文件。文章討論在獨(dú)享表空間卸載、裝載、遷移Innodb表的情況
    2013-11-11
  • MySql超長(zhǎng)自動(dòng)截?cái)鄬?shí)例詳解

    MySql超長(zhǎng)自動(dòng)截?cái)鄬?shí)例詳解

    這篇文章主要介紹了MySql超長(zhǎng)自動(dòng)截?cái)鄬?shí)例詳解的相關(guān)資料,這里通過(guò)實(shí)例來(lái)說(shuō)明如何實(shí)現(xiàn)自動(dòng)截?cái)嗟墓δ?,需要的朋友可以參考?/div> 2017-07-07
  • 千萬(wàn)級(jí)記錄的Discuz論壇導(dǎo)致MySQL CPU 100%的優(yōu)化筆記

    千萬(wàn)級(jí)記錄的Discuz論壇導(dǎo)致MySQL CPU 100%的優(yōu)化筆記

    談到自己在解決一個(gè)擁有 60 萬(wàn)條記錄的 MySQL 數(shù)據(jù)庫(kù)訪問(wèn)時(shí),導(dǎo)致 MySQL CPU 占用 100% 的經(jīng)過(guò)。在解決問(wèn)題完成優(yōu)化(optimize)之后,我發(fā)現(xiàn) Discuz 論壇也存在這個(gè)問(wèn)題,當(dāng)時(shí)稍微提了一下
    2010-12-12
  • MySQL數(shù)據(jù)庫(kù)-錯(cuò)誤1166 Incorrect column name

    MySQL數(shù)據(jù)庫(kù)-錯(cuò)誤1166 Incorrect column name

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)-錯(cuò)誤1166 Incorrect column name,需要的朋友可以參考下
    2016-04-04
  • mysql-connector-java與mysql版本的對(duì)應(yīng)關(guān)系說(shuō)明

    mysql-connector-java與mysql版本的對(duì)應(yīng)關(guān)系說(shuō)明

    這篇文章主要介紹了mysql-connector-java與mysql版本的對(duì)應(yīng)關(guān)系說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Mysql中關(guān)于on,in,as,where的區(qū)別

    Mysql中關(guān)于on,in,as,where的區(qū)別

    這篇文章主要介紹了Mysql中關(guān)于on,in,as,where的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • win10下mysql 5.7.23 winx64安裝配置方法圖文教程

    win10下mysql 5.7.23 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了win10下mysql 5.7.23 winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • mysql命令行腳本執(zhí)行操作示例

    mysql命令行腳本執(zhí)行操作示例

    這篇文章主要介紹了mysql命令行腳本執(zhí)行操作,結(jié)合實(shí)例形式分析了MySQL命令行操作相關(guān)的登入登出、創(chuàng)建刪除、增刪改查等操作技巧,需要的朋友可以參考下
    2019-11-11
  • MySql實(shí)現(xiàn)跨表查詢的方法詳解

    MySql實(shí)現(xiàn)跨表查詢的方法詳解

    本篇文章是對(duì)MySql實(shí)現(xiàn)跨表查詢的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • mysql仿oracle的decode效果查詢

    mysql仿oracle的decode效果查詢

    今天遇到群里發(fā)的一個(gè)問(wèn)題,覺(jué)得有點(diǎn)意思,發(fā)上來(lái)看一下
    2011-04-04

最新評(píng)論