首页
学习
活动
专区
圈层
工具
发布

0001.MySQL通过句柄恢复文件

MySQL误删除ibd文件,通过句柄恢复: 1.删除物理ibd文件,sbtest2.ibd已经被删除 image.png 2.此时不要关闭mysql服务,查询到mysql的句柄号,通过句柄号恢复ibd...文件 步骤1:通过mysql pid进程号在proc进入到mysql当前使用的进程,并且找到删除ibd文件的句柄号 通过ps命令查询出来mysql的pid ls -alh /proc/$(cat /data...,或者锁表 image.png 3.现在记录一下表的记录数和校验值,以便跟恢复后的数据比较: image.png 4.现在通过文件句柄找到消失的数据文件,并将其复制出来(此处注意磁盘空间) [root..., 注:第五步拷贝回去的时候也可以将数据库关闭,之后在拷贝回去,然后启动数据库 场景为客户环境误操作之后在本地进行还原演练,模拟误删之后的恢复操作!...所以当我们执行 rm 时,由于 ibd 文件还在被 MySQL 使用,文件其实并没有被真实删除,只是没办法通过文件系统访问。通过 proc 查找文件句柄,可以让我们追踪到消失的文件。

1.6K92
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql通过binlog恢复数据

    > show master status; image-20210615224824688 正在被记录的文件是mysql3306-bin.000008 刷新binlog日志,保存前面完整的操作 >...flush logs; 查看binlog日志,找到需要恢复到的位置 > show binlog events in 'mysql3306-bin.000008'; image-20210615225134682...在3927位置,rumenz表被删除,所以我们找到了恢复数据的结束点 恢复数据 查看前面用到的所有日志文件 > shwo master logs; +----------------------+--...demo数据库(一台主机上往往有多个数据库,只限本地log日志) > mysqlbinlog --stop-position=3927 mysql3306-bin.000001 mysql3306...-bin.000007 mysql3306-bin.000007 | mysql -uroot -p123456 如果有多个binlog日志文件,需要全部指定上去 如果只恢复指定数据库,如demo数据库

    1.4K10

    只有frm和ibd文件如何恢复mysql数据库

    如果你需要恢复数据库,你可以尝试以下步骤来利用这些文件: 注意:在进行任何恢复操作之前,请确保在安全的环境下备份所有相关文件,以免丢失数据。...(2)将.frm文件和.ibd文件放置在正确的位置:将原始数据库的.frm文件和.ibd文件复制到新MySQL实例的数据目录下,即数据库目录下的相应子目录。...你可以将这些语句复制到新的MySQL实例中执行,以重建表结构。 (4)恢复.ibd文件:由于.ibd文件包含实际的数据和索引,你需要确保它们正确地对应到.frm文件中定义的表。...在MySQL中,.ibd文件与表之间的对应关系是通过内部数据字典来管理的。...请注意,这些步骤可能因MySQL版本和具体情况而异。在执行任何恢复操作之前,请确保你已经了解了你所使用的MySQL版本的具体恢复流程,并且在安全环境下进行操作,以免造成数据丢失或损坏。

    1.9K10

    mysql通过binlong日志恢复数据

    MySQL通过二进制日志(binlog)来记录所有对数据库的更改操作,包括创建、修改、删除数据、创建、修改、删除表等。二进制日志可以用来恢复数据库到之前的某一个时间点或者在主从复制中用于同步数据。...在MySQL中,使用mysqlbinlog命令来解析二进制日志文件。以下是使用binlog文件恢复数据的步骤: 确定恢复时间点 首先需要确定要恢复到的时间点,即二进制日志文件的位置。...可以通过SHOW MASTER STATUS命令来查看当前的二进制日志文件和位置,例如: sqlCopy codemysql> SHOW MASTER STATUS; +----------------...如果要恢复到该位置之前的数据,可以从该位置开始读取二进制日志文件。.../mysql-binlog.sql 这将导出二进制日志文件mysql-bin.000001到/tmp/mysql-binlog.sql文件中。

    1.4K20

    MySQL通过 XtraBackup 备份恢复单个库

    1.概述 本文通过 XtraBackup 备份单个数据库,然后恢复到另一个实例,用于快速迁移大数据量,使用的软件版本为: 软件名 版本 MySQL mysql-5.7.39-linux-glibc2.12...执行丢弃表空间的 SQL 语句 mysql> source /tmp/discard.sql; 8.查看 MySQL-B 底层数据文件 shell> ll -h /mysql/dbdata/data5508...可以看到prepare备份文件后,多了 cfg,exp结尾的文件 11.传输备份文件 将准备好的备份文件中后缀名为cfg,ibd,exp的文件传输到MySQL-B实例的sysbench库下 shell>...data/sysbench/ 12.修改传输过来的文件的属主属组 shell> chown -R mysql.mysql /mysql 13.登录 MySQL-B 执行导入表空间的 SQL 语句...| 10000 | +----------+ 1 row in set (0.04 sec) 总结 通过上述方法可以快速备份恢复大数据量的库,也可以同时指定多个库,单张表或多张表进行恢复。

    3.2K61

    通过日志恢复sql server数据库

    在SQL Server中,通过日志恢复数据库是一个精细的过程,主要用于在数据库出现错误、数据丢失或需要回滚到特定时间点时恢复数据。...以下是一般步骤概述:设置恢复模式:首先,数据库必须配置为“完整恢复模式”或“大容量日志恢复模式”,以便事务日志能够包含足够的信息来进行细粒度的恢复。...数据丢失事件发生后:如果发生数据丢失,首先确定要恢复到哪个时间点或事务ID。使用最后一次完整备份恢复数据库。然后按照备份顺序应用后续的事务日志备份。...事务日志还原:使用​​RESTORE LOG​​命令将日志备份应用于已恢复的基础数据库备份上。...完成恢复过程:最后,当数据库恢复到所需的状态后,执行​​RECOVERY​​命令结束恢复过程,并使数据库变为可读写状态。

    90010

    【MySQL】通过SQL_Thread快速恢复binlog

    将数据库回档至指定时间点或位置,常常是使用全量备份+binlog增量实现的。 而数据量很大的情况下,增量恢复binlog一直是一个苦恼的问题。 因为恢复binlog速度十分慢,并且容易出错。...以下所有框可左右滑动 建议横屏阅读 常见binlog增量恢复方式 先解析成sql文件,再导入MySQL mysqlbinlog mysql-bin.000001 --start-position=n >...通过sql_thread恢复 处理思路: 1)重新初始化一个实例,恢复全量备份文件。 2)找到第一个binlog文件的position,和剩下所有的binlog。...并且通过该步骤,生成relay.info文件。 ② 关闭实例,将需要增量的binlog文件伪装成relaylog。...该测试使用的版本为:MySQL 5.7.16 效果: 快速恢复到指定位置点,即通过全备文件+binlog恢复到故障前的最后一个position。

    1.7K51

    如何通过Python将CSV文件导入MySQL数据库?

    CSV文件导入数据库一般有两种方法: 1、通过SQL的insert方法一条一条导入,适合数据量小的CSV文件,这里不做赘述。...2、通过load data方法导入,速度快,适合大数据文件,也是本文的重点。...样本CSV文件如下: 总体工作分为3步: 1、用python连接mysql数据库,可参考如何使用python连接数据库?...2、基于CSV文件表格字段创建表 3、使用load data方法导入CSV文件内容 load data语法简介: LOAD DATA LOCAL INFILE 'csv_file_path' INTO...原因是不支持命令 load data 解决方法: 需要更改下配置文件 在mysql安装目录中找到my.ini配置文件,复制以下内容到文件中 [mysqld] #服务端配置 local-infle

    13.4K10

    myloader恢复mysql数据库示例

    mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump以及众多优异特性。...有关mydumper的相关参考 mydumper备份mysql数据库示例 mydumper安装及安装故障汇总 1、单库的备份与恢复 [root@app ~]# mydumper -u leshami...#创建测试表 >      insert into sakila.tb select * from sakila.actor" ###将备份库恢复到一个新数据库,如restoredb [root@app...(mysql|test))' -o /tmp/bak ###尝试删除部分数据库 [root@app ~]# mysql -urobin -pxxx   \ >  -e "drop database tempdb...;drop database sakila" ###基于全部备份文件进行恢复 [root@app ~]# myloader  -u leshami -p xxx   -o -d /tmp/bak 4、获取帮助

    6K20

    13.6 mysql数据库备份恢复

    mysql数据库备份恢复目录概要 备份库 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql 恢复库 mysql -uroot -p123456 mysql...-d mysql > /tmp/mysql.sql mysql数据库备份恢复 备份库 在执行mysqldump -uroot -p123456 mysql的时候会看到很多信息,屏幕上显示的这些就是备份的数据...备份mysql库文件 mysqlbak.sql文件就是mysql的备份库文件 [root@hf-01 ~]# mysqldump -uroot -p'hanfeng' mysql > /tmp/mysqlbak.sql...[root@hf-01 ~]# 我们可以通过mysqlbak.sql来恢复数据库,还可以恢复到另外一个数据库里面去 创建一个新的库mysql2 [root@hf-01 ~]# mysql -uroot...[root@hf-01 ~]# 进入到数据库里面,在后面加一个mysql2 就会进入到mysql2数据库里面 mysql -uroot -p'hanfeng' mysql2 [root@hf-01 ~

    5.9K90

    mysql 数据库备份和恢复

    恢复,对于SQL-format dump 文件可以使用 mysql 客户端。对于分隔符分割的文本类型文件,可以使用LOAD DATA INFILE 语句或者mysqlimport 客户端。...增量备份则需要通过启用服务器二进制日志(记录数据变化)来使用。 全量恢复 vs 增量恢复 全量恢复及恢复备份中所有的数据,是数据库恢复到备份时数据库状态。...二进制文件中存储数据改变命令操作,通过重新执行相应的操作,使得数据库恢复到特定的状态. 备份规划、压缩和加密 ......当备机执行LOAD DATA INFILE 语句时,需要备份相应的SQL_LOAD-* 使用的文件夹。备机需要在LOAD DATA INFILE崩溃时使用这些文件进行恢复。...恢复时需要指明二进制文件路径和名称,默认为数据文件路径,可以通过 --log-bin 配置。

    5.5K20

    MySQL数据库备份与恢复

    为此数据库管理员必须针对具体的业务要求制定详细的数据库备份与灾难恢复的策略,并通过模拟故障对每种可能的情况进行严格的测试,从而保证数据的可靠性。...通过 文1:CentOS 7 编译安装MySQL数据库系统已经掌握MySQL数据库的安装方式; 文2:MySQL数据库基本语句已经掌握了数据库的基本操作。...3)通过启动二进制日志进行增量备份 MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。...接下来我们来了解MySQL数据库备份的方法。 物理冷备份与恢复 物理冷备份一般使用tar命令直接打包数据库文件夹即可,但是进行备份之前必须关闭MySQL数据库。...> all-data.sql //将mysql数据库中的所有库做一个备份,保存为“all-data.sql”SQL脚本文件 //时间较长可以使用“--opt”执行优化速度 [root@localhost

    5.2K30

    MYSQL数据库恢复案例分享

    最后在掉线第三块盘时盘片划伤RAID崩溃),无法通过校验直接获取丢失盘的数据,所以只能使用磁盘同等大小的全0镜像进行重组(此方法只可用于紧急情况,因为依赖空镜像组成的RAID文件系统结构会被严重破坏,相当于每个条带都会缺失两个块的数据...在与客户沟通后得知虚拟机内有MYSQL数据库,因为数据库底层存储的特殊性,可以通过扫描数据页进行数据提取。...首先获取最初版本数据库各个表的表结构:合并快照前的父盘因为写入较早,使用第一块掉线盘进行校验获取到这个文件的完整数据,然后提取出其中数据库各个表的表结构,之后客户方提供了最新版的数据库建表脚本。...提取记录:分别使用两组不同表结构对数据记录进行提取并导入恢复环境中的MYSQL数据库内,然后剔除各个表中因为表结构变更造成的乱码数据,最后将两组数据分别导出为.sql文件。...6、数据恢复结果 因为两个版本的数据库表结构不同,所以联系了客户方的应用工程师进行调试。调试完成后导入平台,经验证,数据可用本次数据恢复成功。

    4.3K20
    领券