您好,登錄后才能下訂單哦!
數(shù)據(jù)恢復(fù)原理圖
測試環(huán)境 MySQL5.5
1 首先新建數(shù)據(jù)庫 lampol 數(shù)據(jù)表 test
create database lampol;
use lampol;
create table test (id int(10),name varchar(10));
2 插入數(shù)據(jù)信息
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 刷新切割日志 方便以后恢復(fù)增量binlog
(2)--single-transaction InnoDB的存儲引擎 MyISAM --lock-all-tables (鎖表)
(3)--master-data=2 記錄備份的位置binlog日志 及pos
全量備份成功 記錄msyql-bin日志 和位置
5 備份之后開始繼續(xù)插入數(shù)據(jù) 這些數(shù)據(jù)不在全備里面
insert into test values(3,'lampol3');
insert into test values(4,'lampol4');
6執(zhí)行drop database lampol;
數(shù)據(jù)庫被刪除之后
開始恢復(fù)
1 首先停止對外訪問;停掉web服務(wù)器即可 開始準(zhǔn)備恢復(fù)
flush logs 刷新binlog日志 否則后期導(dǎo)入的全量可能會寫進binlog影響恢復(fù)
2 開始恢復(fù)全量備份 創(chuàng)建刪除的數(shù)據(jù)庫
mysql -uroot -proot lampol<test.sql
全量已經(jīng)被恢復(fù)到數(shù)據(jù)庫了;后來插入的只能用增量來恢復(fù)。
3 增量binlog恢復(fù) 進test.sql 找到binlog位置
取出binlog 轉(zhuǎn)化成sql語句 mysqlbinlog mysql-bin.000012 > /shell/bin.sql
進入bin.sql 找到 drop database lampol;這一句 刪除此句
把bin.sql導(dǎo)入到數(shù)據(jù)庫
mysql -uroot -proot lampol<bin.sql
恢復(fù)成功 還有很多不足之處 以后在慢慢完善
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。