欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在MySQL中使用mysqlbinlog flashback的簡(jiǎn)單教程

 更新時(shí)間:2015年05月09日 12:08:02   作者:吳炳錫  
這篇文章主要介紹了在MySQL中使用mysqlbinlog flashback的簡(jiǎn)單教程,可以很方便地恢復(fù)數(shù)據(jù),作者還列出了使用時(shí)一些需要注意的地方,需要的朋友可以參考下

簡(jiǎn)介:
mysqlbinlog flashback功能是淘寶彭立勛(http://www.penglixun.com/)的一個(gè)很強(qiáng)勁的作品.
主要功能: 對(duì)rows格式的binlog可以進(jìn)行逆向操作.delete反向生成insert, update生成反向的update,insert反向生成delete.讓dba同學(xué)們也有機(jī)會(huì)簡(jiǎn)單的恢復(fù)數(shù)據(jù).可恢復(fù):insert, update,delete相關(guān)的操作.

演示一下使用過程:

生成帶有flashback mysqlbinlog 工具:

項(xiàng)止主頁:http://mysql.taobao.org/index.php/Patch_source_code#Add_flashback_feature_for_mysqlbinlog

準(zhǔn)備好MySQL-5.5.18的源碼,這里用的Percona-MySQL-5.5.18源碼
cd mysql-5.5.18
wget http://mysql.taobao.org/images/0/0f/5.5.18_flashback.diff
patch -p0<5.5.18_flashback.diff

即可以看到了mysqlbinlog , 因這里只為要mysqlbinlog這個(gè)程序,所以編譯MySQL時(shí)沒加特別的參數(shù).該工具是否具備flashback功能可以確認(rèn)一下是否有 “-B” 這個(gè)參數(shù).

開始實(shí)驗(yàn):

mysql test
mysql> select count(*) from pic_url;
+----------+
| count(*) |
+----------+
| 786476 |
+----------+
1 row in set (0.11 sec)
mysql>delete from pic_url;
Query OK, 786476 rows affected (22.81 sec)
mysql>select count(*) from pic_url;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.03 sec)
mysql>show binary logs;
...
| mysql-bin.000011 | 195001447 |
| mysql-bin.000012 | 106 |
+------------------+-----------+


Tips:
定位日值,一般看當(dāng)前的log如果當(dāng)前的log文件比較小,那么就是上一個(gè)文件至于為什么,這里就不講了.也可以用mysqlbinlog 去實(shí)際查看確認(rèn)一下.

接下來就是要找到這個(gè)delete在log中position的變化區(qū)間了.這個(gè)沒什么技巧,通常使用:

./mysqlbinlog -v --base64-output=decode-rows  /u1/mysql/logs/mysql-bin.000011 >11.sql

然后對(duì)11.sql文件進(jìn)行搜索了表名,找到相應(yīng)的節(jié)點(diǎn).大表刪除通常最后的stop點(diǎn)都在文件最后.找到節(jié)點(diǎn)后就可以:

./mysqlbinlog -v --base64-output=decode-rows -B --start-position=377 --stop-position=195001377 /u1/mysql/logs/mysql-bin.000011>B11.sql

同樣對(duì)B11.sql這個(gè)文件驗(yàn)證一下.看看結(jié)尾是和預(yù)期一樣.驗(yàn)證OK后就可以:

./mysqlbinlog -B --start-position=377 --stop-position=195001377 /u1/mysql/logs/mysql-bin.000011|mysql test

如果表比較大,則執(zhí)行著比較慢.如不出錯(cuò)請(qǐng)耐心等待.執(zhí)行完畢后:

mysql>select count(*) from pic_url;
+----------+
| count(*) |
+----------+
| 786476 |
+----------+
1 row in set (0.11 sec)

數(shù)據(jù)又恢復(fù)了.

注意:
為防止恢復(fù)報(bào)錯(cuò)需要把:max_allowed_packet 改到最大值1G;
mysql>set global max_allowed_packet=1024*1024*1024;

#max_allow_packet大小不夠時(shí)報(bào)錯(cuò)如下:
ERROR 1153 (08S01) at line 403133: Got a packet bigger than ‘max_allowed_packet' bytes

恢復(fù)操作有風(fēng)險(xiǎn),請(qǐng)?jiān)趥鋷觳僮骰蚴窃诮?jīng)驗(yàn)豐富的同學(xué)指導(dǎo)下進(jìn)行.

二進(jìn)制文件上傳不到服務(wù)器上,傳到github上一個(gè)二進(jìn)制文件:https://github.com/wubx/mysql-binlog-statistic/tree/master/bin  在64的位的linux系統(tǒng)編譯的. 有需要的直接下載.

相關(guān)文章

  • SQL使用復(fù)合索引實(shí)現(xiàn)數(shù)據(jù)庫查詢的優(yōu)化

    SQL使用復(fù)合索引實(shí)現(xiàn)數(shù)據(jù)庫查詢的優(yōu)化

    這篇文章主要介紹了SQL使用復(fù)合索引實(shí)現(xiàn)數(shù)據(jù)庫查詢的優(yōu)化,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • mysql5.7.20第一次登錄失敗的快速解決方法

    mysql5.7.20第一次登錄失敗的快速解決方法

    這篇文章主要介紹了mysql5.7.20第一次登錄失敗的快速解決方法,需要的朋友可以參考下
    2018-09-09
  • Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    這篇文章主要介紹了Windows系統(tǒng)下MySQL8.0.21安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • mysql在update,非主鍵索引更新引起死鎖問題

    mysql在update,非主鍵索引更新引起死鎖問題

    這篇文章主要介紹了mysql在update,非主鍵索引更新引起死鎖問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL與PHP的基礎(chǔ)與應(yīng)用專題之表連接

    MySQL與PHP的基礎(chǔ)與應(yīng)用專題之表連接

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇表連接開始
    2022-02-02
  • mysql修改數(shù)據(jù)庫默認(rèn)路徑無法啟動(dòng)問題的解決

    mysql修改數(shù)據(jù)庫默認(rèn)路徑無法啟動(dòng)問題的解決

    這篇文章主要給大家介紹了關(guān)于mysql修改數(shù)據(jù)庫默認(rèn)路徑無法啟動(dòng)問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • mysql大批量插入數(shù)據(jù)的正確解決方法

    mysql大批量插入數(shù)據(jù)的正確解決方法

    這篇文章主要介紹了mysql大批量插入數(shù)據(jù)的正確做法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 詳解MySQL中數(shù)據(jù)類型和字段類型

    詳解MySQL中數(shù)據(jù)類型和字段類型

    這篇文章主要為大家詳細(xì)介紹了MySQL中數(shù)據(jù)類型和字段類型的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下
    2022-09-09
  • mysql中如何查看表空間

    mysql中如何查看表空間

    這篇文章主要介紹了mysql中如何查看表空間問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 數(shù)據(jù)庫Mysql性能優(yōu)化詳解

    數(shù)據(jù)庫Mysql性能優(yōu)化詳解

    這篇文章主要介紹了數(shù)據(jù)庫Mysql性能優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評(píng)論