MySQL系列之F-3------MySQL恢複

來源:互聯網
上載者:User

標籤:二進位   線上   mysql   資訊   切割   

1、先進行二進位檔案的切割

因為是線上恢複,所以二進位檔案在恢複的時候也會將恢複過程寫入到裡面,所以,先進行二進位檔案的切割

shell >mysqladmin -h 127.0.0.1 -uroot -poracle flush-log

可以看到,原來只有mysqlbin_test.000001、mysqlbin_test.000002

、mysqlbin_test.000003,切割之後有了mysqlbin_test.000004,這樣在恢複的時候就不會影響到之前的二進位檔案(原因:因為通過備份檔案只能恢複到備份時間點的資料,但是,從備份時間點到資料損毀之前的資料沒有辦法進行恢複的,所以我們採用切割的方式將二進位檔案切割,再將原來的二進位檔案通過mysqlbinlog轉換成sql檔案,更改sql檔案中的資訊使得更新到損壞時間點之前的資料情況)

 

2、通過備份檔案進行恢複

shell >mysql -h 127.0.0.1 -uroot-poracle test123 </opt/test123_bak.sql

3、檢查資料是否進行恢複(我們主要是想恢複test123中的test表中的內容)

 

shell> mysql -h 127.0.0.1 -uroot-poracle -e “select * from test123.test”

 

4、通過mysqlbinlog將二進位檔案進行轉換,進入到data目錄

shell >mysqlbinlog -d testmysqlbin_test.000001 >bin_test01.sql

 

其中-d是指定涉及到的表

shell >mysqlbinlog -d testmysqlbin_test.000002 >bin_test02.sql

shell >mysqlbinlog -d testmysqlbin_test.000003 >bin_test03.sql

 

5如果有錯誤操作,將最新的二進位sql檔案即bin_test03.sql中的錯誤操作sql語句刪除vi bin_test03.sql,一般應該在最後。之後,進行恢複

vi bin_test03.sql

 

6、進行二進位檔案恢複

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test01.sql

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test02.sql

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test03.sql


本文出自 “技術博” 部落格,謝絕轉載!

MySQL系列之F-3------MySQL恢複

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.