MySQL 資料恢複 全備份恢複以及增量恢複 (以手殘刪庫為例)

來源:互聯網
上載者:User

標籤:mysql 增量恢複 以及備份

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/87/F9/wKioL1fmI3vD8aEIAACH7C0ZO3w479.png" title="資料恢複.png" alt="wKioL1fmI3vD8aEIAACH7C0ZO3w479.png" />

資料恢複原理圖


測試環境 MySQL5.5


1 首先建立資料庫 lampol  資料表 test

 create database lampol;

use lampol;

create table test (id int(10),name varchar(10));

2 插入資料資訊 

insert into test values(1,‘lampol1‘);
insert into test values(2,‘lampol2‘);

3 插入後的資訊

mysql> select * from lampol.test;
+------+---------+
| id   | name    |
+------+---------+
|    1 | lampol1 |
|    2 | lampol2 |
+------+---------+

4 開始類比淩晨的全備份

mysqldump -uroot -proot --flush-logs --single-transaction --master-data=2  lampol > /shell/test.sql

(1)--flush-logs 重新整理切割日誌  方便以後恢複增量binlog

(2)--single-transaction InnoDB的儲存引擎  MyISAM --lock-all-tables (鎖表)

(3)--master-data=2 記錄備份的位置binlog日誌 及pos

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/87/FD/wKiom1fmJoXg7r1NAAANHIW3bts849.png" title="QQ20160924151518.png" alt="wKiom1fmJoXg7r1NAAANHIW3bts849.png" />

全量備份成功 記錄msyql-bin日誌 和位置

5 備份之後開始繼續插入資料  這些資料不在全備裡面

insert into test values(3,‘lampol3‘);
insert into test values(4,‘lampol4‘);

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/87/FD/wKiom1fmJ4_ytEkaAAAVrBJ0VAw797.png" title="1.png" alt="wKiom1fmJ4_ytEkaAAAVrBJ0VAw797.png" />

6執行drop database lampol;

資料庫被刪除之後

開始恢複

1 首先停止對外訪問;停掉web伺服器即可 開始準備恢複

flush logs  重新整理binlog日誌 否則後期匯入的全量可能會寫進binlog影響恢複

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/87/FD/wKiom1fmLpLgwhzRAABP8-SaWzs461.png" title="6.png" alt="wKiom1fmLpLgwhzRAABP8-SaWzs461.png" />

2 開始恢複全量備份  建立刪除的資料庫

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/87/FA/wKioL1fmKImCaZ7-AAAO1yJs1XE475.png" title="3.png" alt="wKioL1fmKImCaZ7-AAAO1yJs1XE475.png" />

mysql -uroot -proot lampol<test.sql
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/87/FA/wKioL1fmKN6iCVwMAAAfaY7Idhs392.png" title="4.png" alt="wKioL1fmKN6iCVwMAAAfaY7Idhs392.png" />

全量已經被恢複到資料庫了;後來插入的只能用增量來恢複。

3 增量binlog恢複 進test.sql 找到binlog位置

取出binlog 轉化成sql語句  mysqlbinlog mysql-bin.000012 > /shell/bin.sql

進入bin.sql  找到 drop database lampol;這一句 刪除此句

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/87/FD/wKiom1fmLyWBroAIAAA1pRgc07o774.png" title="7.png" alt="wKiom1fmLyWBroAIAAA1pRgc07o774.png" />

把bin.sql匯入到資料庫

mysql -uroot -proot lampol<bin.sql

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/87/FA/wKioL1fmL43BvoYeAAAWPrcipcE238.png" title="8.png" alt="wKioL1fmL43BvoYeAAAWPrcipcE238.png" />

恢複成功  還有很多不足之處 以後在慢慢完善

本文出自 “生活的理想為了理想的生活” 部落格,請務必保留此出處http://lampol.blog.51cto.com/11662628/1856084

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.