记录一次误删数据库指定数据---------->血的教训


本来要进行select的查询,结果不小心误执行了delete的命令,导致unitID=100004的数据全部被删除

这下尴尬了 这可是线上的数据库啊 , 赶紧去查看binlog日志 期望能恢复

万幸公司数据库用的是阿里云的RDS数据库 自带数据跟踪

然后输入任务名称 当时误操作的时间段 切记: 必须在60分钟以内进行操作

搜索日志时可以指定字段 然后 选择查看详情

查看所有被误删操作的详情后 以下图表中 变更语句 是误操作执行过的命令, 然后最下面会有回滚语句,如果有多个被删的详情列表 需要全部将回滚语句复制粘贴 并在数据库中执行回滚语句

到这里 基本上数据就恢复了 ,然后再执行select * from xsl_user_unit_rols where unitID=‘100004‘;

ok 数据已经完美的回来了

吃一堑长一智,有过一次经验教训 以后只会记得更深刻,所以 在数据库操作时切记一定要备份 并且谨慎操作

https://help.aliyun.com/document_detail/63780.html 这是阿里云官方文档链接

原文地址:http://blog.51cto.com/13922718/2344131

时间: 2024-10-08 12:46:43

记录一次误删数据库指定数据---------->血的教训的相关文章

mysql如何删除数据库指定ID段的数据库。比如删除id 1-500的数据。

delete from tablename where id>=1 and id<=500或者DELETE FROM `数据库名称`.`数据表名称` WHERE `house_cs`.`id` <= 1 and `house_cs`.`id` >= 500

Oracle中使用游标获取指定数据表的所有字段名对应的字符串

操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR(255):='STAFFDOC'; --定义要查询的数据表名变量,STAFFDOC为我测试用的数据表名,请修改成您的数据库中的对应数据表名字mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游标          s

较复杂情况下小型数据库的数据迁移

虽然在操作之前作过一些测试,但主要考虑脚本的正确与否以及对数据库对象的影响.并没有完全在实际系统上运行.这也成为后来出现的一个问题没有预计到的根源.毕竟比较早的版本我没有用过:).那就是8.0.6的exp工具并支持到处数据到多个文件,file=file1,file2不能使用,而且也不清楚老的hp-unix是32位的时候支持大于2g的文件,而且8.0.6是否可以导出一个大于2G文件.后来出现问题之后经过查证系统支持,此避免使用磁带机或者文件压缩的方式(具体方法网络上有相关资料).   由于考虑到加

Oracle&gt;&gt;通过PL/SQL程序块判断,指定用户的指定数据表和序列是否存在,如果存在则删除,否则新创建。并且为表添加含有字符串数据,execute immediate执行insert语句中有字符串解决办法

--变量声明 declare num0 number; num1 number; begin --判断用户为:SYSTEM的数据库中是否存在相关数据表和序列,存在则删除,不存在则新创建,DBMS_OUTPUT.put_line等同java中的System.out.println输出语句 DBMS_OUTPUT.put_line('正在初始化数据库信息,请稍后......'); --以下参数说明: --所涉及到的参数值必须为大写 --sequence_owner:指定哪个数据库用户的序列: seq

使用嵌入式关系型SQLite数据库存储数据

除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库—SQLite, 1.SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型虽然只有五种,但实际上sqlite3也接受varchar(n).char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. 2.SQLit

PHP从零单排(十三)使用PHP显示MySQL数据库的数据

1.在PHP执行SQL语句 要从数据库获得数据,首先PHP要执行一条对表操作的SQL语句,包括SELECT.INSERT.UPDATE或DELETE语句.一般情况下,在PHP中执行SELECT语句,会从表中查找出一些记录行.而执行其他语句,只会返回语句是否执行成功的信息. <?php $host='localhost'; $user_name='root'; $password='helloworld'; $conn=mysql_connect($host,$user_name,$passwor

前端学数据库之数据表操作

× 目录 [1]准备工作 [2]创建数据表 [3]查看数据表[4]记录操作[5]记录约束[6]列操作[7]约束操作[8]修改列[9]数据表更名 前面的话 mysql数据库中的数据存储在被称为表(tables)的数据库对象中.表是相关的数据项的集合,它由列(字段)和行(记录)组成.下面将详细介绍数据表操作 准备工作 在进行数据表操作之前,需要先登录mysql服务器,创建一个数据库,并使用创建好的数据库 创建数据表 下面在db1数据库中创建数据表tb1 CREATE TABLE [IF NOT EX

实战 SQL Server 2008 数据库误删除数据的恢复

关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(

【mysql元数据库】使用information_schema.tables查询数据库和数据表信息

概述 对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件. information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍: table_schema: 记录数据库名: table_name: 记录数据表名: engine : 存储引擎: table_rows: 关于表的粗略行估计: data_lengt