實(shí)驗(yàn)介紹
增量恢復(fù)一般適用的場(chǎng)景:
1、人為的sql語(yǔ)句破壞了數(shù)據(jù)庫(kù)
2、在進(jìn)行下一次完全備份之前發(fā)生系統(tǒng)故障導(dǎo)致數(shù)據(jù)庫(kù)數(shù)據(jù)丟失
3、在主從架構(gòu)中,主庫(kù)數(shù)據(jù)發(fā)生了故障
丟失完全備份之后更改的數(shù)據(jù)的恢復(fù)步驟
1、首先做一個(gè)完全備份,確保生成完全備份的sql文件。
| mysql> select * from yx; #完全備份前數(shù)據(jù)庫(kù)+----------+--------+| name | score |+----------+--------+| zhangsan | 100.00 || lisi | 90.00 || wangwu | 80.00 || zhaoliu | 99.00 |+----------+--------+4 rows in set (0.00 sec)[root@promote data]# mysqldump -u root -p test > /opt/test.sql #對(duì)數(shù)據(jù)庫(kù)完全備份 |
2、使用flush-logs生成新的二進(jìn)制日志文件,用以保存之后的數(shù)據(jù)庫(kù)操作語(yǔ)句。
[root@promote data]# mysqladmin -u root -p flush-logs #生成二進(jìn)制文件
Enter password:
[root@promote data]# ls
auto.cnf ibdata1 ib_logfile1 mysql mysql-bin.index sys
ib_buffer_pool ib_logfile0 ibtmp1 mysql-bin.000001 performance_schema test
3、在數(shù)據(jù)庫(kù)中插入一條記錄,再執(zhí)行flush-logs操作,生成新的二進(jìn)制增量備份文件。
mysql> insert into yx(name,score) values('tom',87);
Query OK, 1 row affected (0.00 sec)
mysql> select * from yx;
+----------+--------+
| name | score |
+----------+--------+
| zhangsan | 100.00 |
| lisi | 90.00 |
| wangwu | 80.00 |
| zhaoliu | 99.00 |
| tom | 87.00 |
+----------+--------+
5 rows in set (0.00 sec)
[root@promote data]# mysqladmin -u root -p flush-logs #生成二進(jìn)制文件
Enter password:
[root@promote data]# ls
auto.cnf ibdata1 ib_logfile1 mysql mysql-bin.000002 performance_schema test
ib_buffer_pool ib_logfile0 ibtmp1 mysql-bin.000001 mysql-bin.index sys
4、用delete刪除剛才插入的數(shù)據(jù)。模擬完全備份后數(shù)據(jù)丟失。
mysql> delete from yx where name='tom';
Query OK, 1 row affected (0.00 sec)
mysql> select * from yx;
+----------+--------+
| name | score |
+----------+--------+
| zhangsan | 100.00 |
| lisi | 90.00 |
新聞熱點(diǎn)
疑難解答
圖片精選