完全备份和增量备份
简介
1·完全备份与增量备份的概念
2·使⽤ mysqldump 完全备份
3·使⽤ mysqldump 进⾏表结构备份
4·完全备份恢复的两种⽅法
5·使⽤ flush logs 进⾏增量备份
6·增量备份恢复
7·基于时间点与位⼦的恢复
8·MySQL 备份思路
完全备份与增量备份的概念
1·MySQL 完全备份:是对整个数据库的备份、数据库结构和⽂件结构的备份,保存的是备份完成时刻的数据库,它也是增量备份的基础。它的优点:备份与恢复操作简单,缺点是数据存在⼤量的重复,占⽤⼤量的备份空间,备份时间长。
2·MySQL 增量备份:是针对在上次完全备份或增量备份后被修改的⽂件才会备份。因为完全备份的 缺点会占⽤很多的资源,所以增量备份与完全备份这中结合就能解决这样的缺点。
3·MySQL 是没有提供直接的增量备份的办法,但是可以通过MySQL的⼆进制⽇志间接实现增量备份。⼆进制⽇志保存了所有更新或者可能更新数据库的操作,使⽤flush logs 可以使⽇志分割开来,这样就可以识别每次更新的操作会在另⼀个⽇志⽂件中。
实验前准备:
因为这⾥涉及到数据库的表,所以在这之前就创建好了⼀张表,如下图所⽰:
MySQL 完全备份 + 增量备份+完全恢复
mysqldump 完全备份与恢复
1·针对⼀个库完全备份命令格式:
mysqldump -uroot -p123123 --databases kgc(库名) > /opt/kgc.sql(备份到什么地⽅)2·模拟kgc这个库中的表丢失。
mysql> drop tabale school;
MySQL 完全备份 + 增量备份+完全恢复
3·数据库中的表丢失,恢复表的命令格式:
mysql -uroot -p123123 < /opt/kgc.sql ---- (恢复kgc库中的表,重你备份的地⽅导⼊即可)4·验证恢复备份:
mysql> show tables;
mysql> select * from school;
MySQL 完全备份 + 增量备份+完全恢复
5·对数据库所有表进⾏备份
mysqldump -uroot -p123123 --all-databases > /opt/all.sql ----(对所有库备份加⼊选项 --all )
6·对库中的⼀张表的表结构进⾏备份,注意这⾥只是备份表结构
mysqldump -uroot -p123123 -d kgc(库名)school(表名) > /opt/desc.sql
MySQL 增量备份
1·增量备份是基于完全备份之后的所修改的数据进⾏备份,所以这⾥必须先做完全备份,在做增量备份。上⾯的实验已经做过了完全备份,现在可以直接做增量分了。
2·要进⾏MySQL增量备份需要开启⼆进制⽇志功能。需要在主配置⽂件【mysqld】项中加⼊:log-bin=mysql-bin 如下图:
[root@localhost ~]# vim /etc/myf
MySQL 完全备份 + 增量备份+完全恢复
3·重启MySQL服务、查看⼆进制⽇志⽂件
[root@localhost ~]# systemctl restart mysqld.service
MySQL 完全备份 + 增量备份+完全恢复
4·模拟在表中添加数据,然后把只备份添加的数据。
mysql> insert into school (姓名,成绩) values ('成龙',79);
MySQL 完全备份 + 增量备份+完全恢复
5·模拟故障,因为⼈员误操作或其他因素,导致表被删除。
使⽤命令 mysqladmin -uroot -p123123 flush-logs 再次⽣成⼀份⽇志⽂件,这样接下来对MySQL的记录将会写在新的⽇志⽂件中
mysql> drop table school;
mysql> show tables;mysql删除重复的数据保留一条
MySQL 完全备份 + 增量备份+完全恢复
6·数据恢复。恢复思路
(1)⾸先需要把完全备份恢复
(2)其次,需要知道我们之前在插⼊数据的时候的所有操作都会纪律在⽇志⽂件中。
(3)最后我们需要重⽇志⽂件中恢复之前插⼊的数据。
(4)这样就能完全恢复之前表中的数据。
MySQL 完全备份 + 增量备份+完全恢复
7·验证数据是否恢复成功。
MySQL 完全备份 + 增量备份+完全恢复
8·基于时间点与位置的恢复
列如:需要往数据库中插⼊两条数据,但是由于误操作,两条插⼊语句中间删除了⼀条数据,⽽这条数据是不应该被删除的,这个时候就需要恢复到误操作之前,跳过删除这⼀条数据这个命令,再恢复后⾯的正确操作。
(1)再次分割⽇志:
[root@localhost data]# mysqladmin -uroot -p123123 flush-logs
(2)模拟误操作,添加数据的过程中,误删除⼀条数据,因为⼤意没注意删除的数据还需要保留,再次继续写⼊数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。