mysql数据丢失后恢复至最新节点

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

使用mysqldump 进行增量恢复


模拟,生产环境恢复数据


1.full back  (3 rows)  3pm   前一天的全备份

2,insert 3 rows       5pm   第二天新增数据

3,delete from table    7pm   误操作

4,insert 3 rows       8pm   不断新增数据

5,recovery databases    9pm   恢复数据

 


1,全备份

1
/mysqldump -uroot -p  db1 > /root/mysqlbackup/t2.sql

2,模拟生成新的二进制日志

1
2
/etc/init.d/mysqld restart
mysqladmin -uroot -p123456  --flush-log

3,新增数据  

 

1
insert  into  t2  values  (4,40),(5,50),(6,60);

4,误操作

 

1
delete  from  t2;

5,不断更新数据

1
  insert  into  t2  values  (7,70),(8,80),(9,90);

6,开始恢复

 cp data/mysql-bin.0000002  /back  备份现有二进制日志,防止二次损坏

 mysql -uroot -p db1 < /root/mysqlbackup/t2.sql 全部恢复



7,下面跳过delete 这条记录,或者删除delete这条语句,恢复其他position的记录


# at 526

#150512  7:50:58 server id 1  end_log_pos 640 CRC32 0x4f6549a3 Querythread_id=1exec_time=0error_code=0

SET TIMESTAMP=1431388258/*!*/;

insert into t2 values (4,40),(5,50),(6,60)

/*!*/;

# at 640

#150512  7:50:58 server id 1  end_log_pos 671 CRC32 0x253a2239 Xid = 60

COMMIT/*!*/;

# at 671

#150512  7:52:11 server id 1  end_log_pos 748 CRC32 0x7617cce8 Querythread_id=1exec_time=0error_code=0

SET TIMESTAMP=1431388331/*!*/;

BEGIN

/*!*/;

# at 748

#150512  7:52:11 server id 1  end_log_pos 834 CRC32 0x112802bc Querythread_id=1exec_time=0error_code=0

SET TIMESTAMP=1431388331/*!*/;

delete from t2

/*!*/;

# at 834

#150512  7:52:11 server id 1  end_log_pos 865 CRC32 0x8895c353 Xid = 62

COMMIT/*!*/;

# at 865

#150512  7:52:38 server id 1  end_log_pos 942 CRC32 0xa34076dd Querythread_id=1exec_time=0error_code=0

SET TIMESTAMP=1431388358/*!*/;

BEGIN

/*!*/;

# at 942

#150512  7:52:38 server id 1  end_log_pos 1056 CRC32 0xa1c9c171 Querythread_id=1exec_time=0error_code=0

SET TIMESTAMP=1431388358/*!*/;

insert into t2 values (7,70),(8,80),(9,90)

/*!*/;

# at 1056

#150512  7:52:38 server id 1  end_log_pos 1087 CRC32 0x73a98385 Xid = 64

COMMIT/*!*/;


8,开始恢复:

 

1
2
bin/mysqlbinlog  --start-position=526 --stop-position=640 data/mysql-bin.000004 | mysql -uroot -p
bin/mysqlbinlog  --start-position=942 --stop-position=1056 data/mysql-bin.000004 | mysql -uroot -p

或者使用第二种恢复方法(删除binlog中的delete)

1
2
/bin/mysqlbinlog data/mysql-bin.00002 >bin.sql
mysql -uroot -p <bin.sql

9, 恢复完成后建议在此刷新bin log。

10,查询恢复的数据






      本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1651285,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL版标准版计算节点规格详解
PolarDB MySQL版标准版计算节点规格详解
297 1
|
SQL 关系型数据库 MySQL
(B站动力节点老杜MySQL教程)MySQL课堂笔记-day01.txt
(B站动力节点老杜MySQL教程)MySQL课堂笔记-day01.txt
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之mysql节点如何插入数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
258 1
|
JSON NoSQL MongoDB
面试题MySQL问题之想使用Neo4j查询可变数量的关系节点如何解决
面试题MySQL问题之想使用Neo4j查询可变数量的关系节点如何解决
294 1
|
SQL NoSQL 关系型数据库
实时计算 Flink版产品使用合集之mysql服务器只有1个节点,怎么改mysqlserver-id
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
存储 SQL 关系型数据库
实时计算 Flink版产品使用问题之要配置MySQL集群存储节点,该如何配置
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
负载均衡 关系型数据库 MySQL
MySQL PXC集群多个节点同时大量并发update同一行
如本文标题,MySQL PXC集群多个节点同时大量并发update同一行数据,会怎样? 为此,本人做了一个测试,来验证到底会怎样!
234 0
|
负载均衡 关系型数据库 MySQL
MySQL Router读写节点支持负载均衡策略
`routing_strategy`是MySQL Router配置选项,用于设定数据路由策略。可选值包括:`first-available`, `next-available`, `round-robin`和`round-robin-with-fallback`,分别对应不同的负载均衡和故障转移策略。更多详情参考:&lt;https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.html#option_mysqlrouter_routing_strategy&gt;。
337 1
|
存储 NoSQL 关系型数据库
redis与mysql的数据一致性问题(数据丢失)
redis与mysql的数据一致性问题(数据丢失)
108 0
|
关系型数据库 MySQL 数据库
CTO问我:MySQL从节点上的服务崩了,还怎么「主从读写分离」?
我们的项目采用了读写分离的方案:查询和更新的业务走主库,统计相关的功能走从库,从而减少主库的压力。原理如下图所示:

推荐镜像

更多