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

发布时间:2020-07-31 21:56:54 作者:damiahu
阅读:742
mysql云数据库,弹性扩容,低至0.3元/天! 查看>>

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

数据恢复原理图

测试环境 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

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

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

5 备份之后开始继续插入数据  这些数据不在全备里面

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

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

6执行drop database lampol;

数据库被删除之后

开始恢复

1 首先停止对外访问;停掉web服务器即可 开始准备恢复

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

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

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

mysql -uroot -proot lampol<test.sql
MySQL 数据恢复 全备份恢复以及增量恢复 (以手残删库为例)

全量已经被恢复到数据库了;后来插入的只能用增量来恢复。

3 增量binlog恢复 进test.sql 找到binlog位置

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

进入bin.sql  找到 drop database lampol;这一句 删除此句

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

把bin.sql导入到数据库

mysql -uroot -proot lampol<bin.sql

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

恢复成功  还有很多不足之处 以后在慢慢完善

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. mysql增量备份断点恢复
  2. Mysql数据库备份恢复讲析

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

备份 mysql 增量恢复

上一篇:HDFS高可用环境搭建

下一篇:android 发送http请求方法和异常解决方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×