PolarDB MySQL通过DMS恢复误操作数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本场景介绍日常访问PolarDB MySQL数据库时,由于操作导致数据不符合预期,需要将数据快速恢复到正常状态。误操作受影响的数据量在10万以内时,可使用DMS数据追踪的方式恢复数据。

PolarDB MySQL通过DMS恢复误操作数据


1. 创建模拟数据及模拟误操作

在PolarDB MySQL集群中,创建数据库。

在数据库中插入一个表进行体验。例如,执行如下语句,创建一个名为students的表。

CREATE TABLE students (
    id          INT4,
    name       VARCHAR(10),
    grade       INT4,
    class        INT4
 );

在表中插入基础数据,例如:

INSERT INTO students(id,name,grade,class) 
values
(1,'Nick',5,4),(2,'Joy',4,3),(3,'Lucy',3,2),(4,'Lulu',6,1),(5,'Merry',2,4),(6,'Jason',1,5);

模拟误删除操作。

1)在DMS中登录集群。2)覆盖某条或者某些数据。例如,执行如下语句,假设您通过以下语句误覆盖了students表中的某条数据。

UPDATE students SET name='Tom',grade=6,class=1 WHERE id=2;

2. 查找需回滚记录,生成回滚脚本

首先,您需要在DMS控制台提交数据追踪工单申请,审批通过后,根据解析出的日志,选择需要回滚的变更记录,并生成回滚脚本。

在DMS控制台页面顶部,选择全部功能 > 数据方案 > 数据追踪。

在页面右上角,单击+数据追踪。

在数据追踪工单申请页面,根据下表填写工单申请。


参数名

说明

任务名称

便于后续检索,并提供给审批人员清晰的操作意图。例如,可输入“误操作恢复”。

库名

误操作对象的数据库名。

表名

误操作对象的表名

追踪类型

支持多选,可按需勾选检索的操作。 

此案例明确知道是Delete操作造成的误操作,因此可仅勾选删除。

时间范围

按默认选择即可。

单击提交申请,系统将获取日志文件。

获取日志文件后,系统会进入审批环节。

等待审批通过。

说明 数据追踪的默认安全审批规则为:数据库对应的DBA进行审批。

审批通过后,系统会进行日志下载、日志解析等操作。

待解析完成后,您可以勾选需要回滚的变更记录,单击导出回滚脚本即可。

3. 执行回滚

导出回滚脚本后,您可以提交普通数据变更工单,将此回滚脚本作为附件上传至工单中,执行至目标数据库中。

在DMS控制台页面顶部,选择全部功能 > 数据方案 > 普通数据变更。

可参考下表填写数据变更工单申请,并单击提交申请。

参数名

说明

数据库

要恢复的数据库名称。

影响行数

预估本次更新会影响的数据行数,可在SQLConsole以count统计。

本案例中影响行数为1。

变更SQL

选择附件,并将步骤二中生成的脚本上传至附件。

工单提交后,系统会进行内容合法性检查。

当检查通过后,需要您提交审批,审批通过后,就会生成执行任务。

说明 目前数据变更的默认安全审批规则为:数据库对应的DBA进行审批。

单击执行变更。

4. 验证数据

当数据恢复完成后,您可以通过DMS登录集群,进行数据比对,验证数据。

在PolarDB控制台进入集群的基本信息页面。在右上角单击登录数据库。

登录DMS后,在左侧导航栏中,单击已登录实例。

在已登录实例列表中,单击目标集群名称,找到并双击目标数据库名称,即可切换到目标数据库进行管理。


打开目标表,查找到误操作的数据,确认其是否已恢复到误操作前,且其他数据也和误操作发生前一致。

实验链接:https://developer.aliyun.com/adc/scenario/01529a7b5a764c03b80f1c1652279a9d


相关文章
|
3天前
|
关系型数据库 MySQL Java
项目从 MySQL 切换 PostgreSQL,踩了太多的坑!!!
底层自己操作数据库可能就无法修改源码了,只能修改数据库表字段类型了
14 1
|
6天前
|
新零售 关系型数据库 MySQL
POLARDB:新零售用户MySQL上云最佳选择
POLARDB是阿里云的云原生数据库,专为互联网场景设计,兼容MySQL并优化高并发处理。适用于新零售、电商和SaaS,支持百万级用户应用,保证数据一致性,可应对业务高峰,实现秒杀活动的顺畅运行。具备读写分离的集群架构,实现数据共享。自2018年商用以来,已在多个行业得到广泛应用。产品特性包括超快SQL性能、大容量存储、弹性扩容和高级安全性。
126 2
|
10天前
|
关系型数据库 分布式数据库 数据库
【阿里云云原生专栏】云原生时代的数据库选型:阿里云RDS与PolarDB对比分析
【5月更文挑战第24天】阿里云提供RDS和PolarDB两种数据库服务。RDS是高性能的在线关系型数据库,支持MySQL等引擎,适合中小规模需求;而PolarDB是分布式数据库,具备高扩展性和性能,适用于大规模数据和高并发场景。RDS与PolarDB在架构、性能、弹性伸缩、成本等方面存在差异,开发者应根据具体需求选择。示例代码展示了如何通过CLI创建RDS和PolarDB实例。
472 0
|
10天前
|
SQL 存储 关系型数据库
PolarDB-X CDC之"兼容MySQL,高于MySQL"
本文主要介绍一下PolarDB-X在CDC能力上那些高阶能力。
|
19天前
|
关系型数据库 MySQL 数据处理
Mysql 和 PostgreSQL 到底选啥?
Mysql 和 PostgreSQL 到底选啥?
38 0
|
19天前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL版集群版本支持库表恢复功能的版本要求是什么?
【5月更文挑战第13天】PolarDB MySQL版集群版本支持库表恢复功能的版本要求是什么?
14 0
|
19天前
|
关系型数据库 MySQL 分布式数据库
如何将数据从MySQL迁移到PolarDB?
【5月更文挑战第13天】如何将数据从MySQL迁移到PolarDB?
41 0
|
19天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型
|
19天前
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之在DataWorks中,如何通过PolarDB for MySQL来查看binlog日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
40 1
|
12天前
|
关系型数据库 分布式数据库 数据库
【PolarDB 开源】PolarDB 性能调优实录:提升数据库集群吞吐量的技巧
【5月更文挑战第22天】PolarDB 性能调优关键点包括硬件资源配置、数据库参数调整、索引优化、分区策略、事务优化及性能监控。创建高效索引如`CREATE INDEX idx_name ON table_name (column_name);`,根据业务场景选择分区方式,调整事务隔离级别以提升并发性能。监控 CPU、内存等指标,定期维护数据库,结合业务特点综合调优,从而提升数据库集群吞吐量。这些技巧有助于发挥PolarDB潜力,支持业务高效运行。
222 6

相关产品

  • 云数据库 RDS MySQL 版
  • 云原生数据库 PolarDB