1. 首页 > ITPUX技术网 > 正文

MySQL数据恢复–全备份恢复以及增量恢复(以手残删库为例)

MySQL数据恢复–全备份恢复以及增量恢复(以手残删库为例)

数据恢复原理图

测试环境 MySQL 5.6
1 新建数据库lampol,数据表test
create database lampol;
use lampol;
create lampol.table test (id int(10),name varchar(10));

2 插入数据信息
insert into lampol.test values(1,’lampol1′);
insert into lampol.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

全量备份成功 记录msyql-bin日志 和位置

5 备份之后开始继续插入数据 这些数据不在全备里面
insert into test values(3,’lampol3′);
insert into test values(4,’lampol4′);

6 执行删除数据库
mysql> drop database lampol;

开始恢复
1 首先停止对外访问;停掉web服务器即可 开始准备恢复
flush logs 刷新binlog日志 否则后期导入的全量可能会写进binlog影响恢复

2 开始恢复全量备份 创建删除的数据库

mysql -uroot -proot lampol /shell/bin.sql
进入bin.sql 找到 drop database lampol;这一句删除此句

把bin.sql导入到数据库
mysql -uroot -proot lampol

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息