首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据恢复:如何恢复Linux中意外删除Oracle和MySQL数据库

张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 没有删除数据库DBA职业生涯是不完整删除数据库还能幸存DBA一定是订阅了“Oracle”公众号。...昨晚有朋友在微信群求助讨论,误删除了一个MySQL数据库,整个恢复过程和以下文章中提到步骤完全相同,只要MySQL主进程还没有退出,从文件句柄可以恢复文件最终挽回损失。...让我们完整再复习一下这篇文章步骤,一定要记住这种方法: 今天有客户数据库意外被删除了整个目录数据文件,操作系统级别的删除,然而幸运是这个数据库没有崩溃,仍然处于 open 状态时候,客户就发现了问题...在 Linux 下大致重新演示一下恢复过程,恢复步骤与数据库版本没有太大关系,与操作系统不同会有所不同。 1. 在数据库 open 时候,直接删除 users 表空间中数据文件。 2....但是要注意是,此时如果关闭数据库,则此句柄会消失,那么除了扫描磁盘进行文件恢复之外就没有其它方法了,因此在数据库出现问题时候,如果不确认情况复杂程度,千万不要随便关闭数据库

4.1K60

Mysql数据库delete删除数据恢复过程

导致数据丢失原因是由于人为误操作使用Delete命令进行删除数据时未添加where子句进行筛选导致全表数据删除删除后未对该表进行任何操作,需要从数据库层面进行误删除数据恢复操作。...数据恢复方案制定: 1、故障类型分类:在本案例,由于未对生产环境进行备份也未开启binlog日志,无法直接还原数据库,属于典型表内mysql-delete数据删除。...2、故障分析与可行性方案制定:通常情况下对于mysql innodb误删除导致记录丢失恢复方案有三种,分别是备份还原、binlog还原和记录深度解析。...由于本案例数据库没有备份,也没有开启binlog,也就是说前两种方案都不适用,只能使用记录深度解析方式进行恢复。...2、使用数据库数据恢复工具进行扫描: 北亚数据恢复中心MySQL数据库数据恢复1.png 北亚数据恢复中心MySQL数据库数据恢复2.png 在本次数据恢复案例,客户提供了数据库表结构脚本,可以使用本工具

5.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL数据库删除后如何恢复

在日常运维工作,对于数据库备份是至关重要数据库对于网站重要性使得我们对 MySQL 数据库管理不容有失!然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库删除了,怎么办?...下面,就 MySQL 数据库删除恢复方案进行说明。 一、工作场景 (1)MySQL数据库每晚12:00自动完全备份。 (2)某天早上上班,9点时候,一同事犯晕drop了一个数据库!...二、数据恢复思路 (1)利用全备sql文件记录CHANGE MASTER语句,binlog文件及其位置点信息,找出binlog文件增量那部分。...: [root@vm-002 backup]# 再次查看数据库,发现全备份到删除数据库之间那部分数据恢复了!!...,即禁止更新数据库 4)先恢复全量,然后把全备时刻点以后增量日志,按顺序恢复成SQL文件,然后把文件中有问题SQL语句删除(也可通过时间和位置点),再恢复数据库

10.5K21

PostgreSQL删除数据能否恢复

问题提出 有人问PostgreSQL数据库刚刚删除数据能否被恢复? 或更进一步,如果如要在一个事务做了一系列更新、删除、插入操作后,把这个事务提交之后又后悔了,能否恢复到之前状态?...当然如果数据库有备份,可以直接从备份数据恢复,本文讨论是没有备份情况下能否恢复。 理论分析 从PostgreSQL多版本实现原理上,这是有可能。...因为PostgreSQL多版本原理是旧数据并不删除: 对于删除数据操作,只是把行上xmax改成当前事务id 对于更新操作,只是把原先行上xmax改成当前事务id,并插入一个新行,而新行上...所以如果作了删除数据操作后,马上把数据库停下来,这时autovacuum进程还没有把旧版本数据给清理掉时,数据是可以恢复。 但仅仅是把commit log事务状态改一下,就能恢复数据吗?...commit log事务状态都必须是数据库停下来情况。

4.2K100

原创投稿 | 详解Mysql数据库恢复删除数据

糖豆贴心提醒,本文阅读时间5分钟 血教训,事发经过就不详述了。直接上操作步骤及恢复思路(友情提示:数据库任何操作都要提前做好备份),以下是Mysql数据恢复过程: 1....找到binlog 恢复数据前提是必须开启Mysqlbinlog日志,如果binlog日志没开启,请忽略此篇文档。binlog日志是否开启可以查看Mysql配置文件。...找到binlog错误语句   可以binlog日志中找到错误语句执行时间点,分别恢复错误语句前后binlog日志为sql。...如果从上次备份(建议备份同时刷新binlog日志)截至到恢复时间产生多个binlog日志,按从小到大顺序分别导出成sql再顺序导入到数据库。...恢复数据库  恢复数据时,可能会有重复数据报错,建议用-f参数忽略。 # mysql -uroot -p -f ids < data.sql 本文作者:Robin

1.3K90

Oracle数据库恢复删除数据方法

大家好,又见面了,我是你们朋友全栈君。 误删oracle数据库数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据呢? 下面介绍3种方法。 1....%' ; 根据结果sql_text内容,找到delete执行语句对应删除时间点,执行下面语句查询出删除数据。...利用oracle虚拟回收站功能 原理是因为oracle数据库删除表时会将删除信息存放于某虚拟回收站而非直接清空,在此种状态下数据库标记该表数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据...: flashback table original_name to before drop; 如果不知道源表名,或者需要重新命名新表名存放数据,则可以通过回收站object_name进行恢复,命令如下...用oracle数据库闪回功能可以将数据库恢复到过去某一状态 注意,此时是整库恢复,具体语法如下: SQL>alter database flashback on SQL>flashback database

97820

恢复删除数据

,成功把删除大部分数据找回来了,我数据恢复过程如下。...,恢复命令参数,表示恢复节点“ino”文件,恢复文件会自动放在当前目录下RESTORED_FILES文件夹,使用节点编号作为扩展名。...--restore-file 'path',恢复命令参数,表示将恢复指定路径文件,并把恢复文件放在当前目录下RECOVERED_FILES目录。...--restore-files 'path',恢复命令参数,表示将恢复在路径已列出所有文件。 --restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。...在数据删除之后,首先要卸载被删除数据所在磁盘或是分区,如果是系统根分区遭到误删除,就需要进入单用户模式下,将根分区以只读方式挂载。

1.7K30

MySQL数据库从ibd和rfm恢复(zabbix数据库

1、新建数据库 create database zabbix default charset utf8; 2、use zabbix; 3、设置表默认字段模式,具体根据IBD文件格式来设置,set...ibd文件,alter table `users` discard tablespace; (其他表类似) 8、把要恢复ibd文件复制到当前zabbix数据库目录,cp /xx/users.ibd.../zabbix/users.ibd;  (其他表类似) 9、修改所有者,chown mysql:mysql /zabbix/users.ibd; (其他表类似) 10、恢复ibd数据到表,alter...table `users` import tablespace; (其他表类似) 11、zabbix更改数据库名字后要修改两个地方,zabbxi_server.conf 和 zabbix.conf.php...PS:创建新数据库和表时,数据库引擎INNODB,库和表编码格式CHARASET,FORMAT格式都要和原来一致。

1.6K20

MySQL删除数据库

大家好,又见面了,我是你们朋友全栈君。   删除数据库是指在数据库系统删除已经存在数据库数据库删除之后,原来分配空间将被收回。...需要注意是,数据库删除之后该数据库中所有的表和数据都将被删除。因此删除数据库要特别小心。 一、通过SQL语句   MySQL删除数据库通过SQL语句DROP DATABASE。...其语法格式如下: DROP DATABASE 数据库名;   其中“数据库名”为要删除数据库名称。...下面删除系统名为test数据库: $ mysql -u root -p Enter password: mysql> SHOW DATABASES; +-------------------...上述删除数据库代码,在数据库不存在时候会报错,下面代码对数据库是否存在做了判断,在数据库不存在时候会报警告: mysql> DROP DATABASE IF EXISTS test; Query

6.1K30

MySQL 删除数据库

MySQL 删除数据库----使用普通用户登陆 MySQL 服务器,你可能需要特定权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限。...在删除数据库过程,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。...drop 命令删除数据库drop 命令格式:drop database ;例如删除名为 RUNOOB 数据库mysql> drop database RUNOOB;使用 mysqladmin...删除数据库你也可以使用 mysql mysqladmin 命令在终端来执行删除命令。...可以是下列值任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认)实例以下实例演示了使用PHP mysqli_query

4.6K40

MySQL 删除数据库

MySQL 删除数据库 ---- 使用普通用户登陆 MySQL 服务器,你可能需要特定权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限。...在删除数据库过程,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。...drop 命令删除数据库 drop 命令格式: drop database ; 例如删除名为 RUNOOB 数据库mysql> drop database RUNOOB; 使用 mysqladmin...删除数据库 你也可以使用 mysql mysqladmin 命令在终端来执行删除命令。...可以是下列值任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认) 实例 以下实例演示了使用PHP mysqli_query

3.5K30

mysql 数据库备份和恢复

除了基本数据库文件,备份还可以包含其它一些如日志、配置等相关文件。 MEMORY 引擎类型表很难使用这种类型备份,因为它数据存储在内存。....二进制文件存储数据改变命令操作,通过重新执行相应操作,使得数据库恢复到特定状态. 备份规划、压缩和加密 ......(对于包含Innodb类型表数据库不能采取此方法,因为即使不进行任何更新操作,Innodb仍然可能有更改数据缓存在内存)。...这样在恢复时,就可以针对特定数据库进行恢复,不至于造成所有的恢复恢复到默认数据库里。如果需要备份文件包含drop数据库语句,则使用 --add-drop-database 选项。...dump.sql 备份不包含数据库创建语句,确保指定恢复数据库存在: shell> mysqladmin create db1 指定数据库: shell> mysql db1 < dump.sql

3.6K20
领券