前言       开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文,你能够了解到:MySQL的binlog日志是什么?通常是用来干什么的?模拟一次误删数据的操作,并且使用binlog日志恢复误删的数据。写这篇文章的初衷,是有一次我真的险些把测试数据库的一张表给删除了,当时吓出一身冷汗。原因是由于Spring JPA的配置中            
                
         
            
            
            
            【1】前置条件 (1.1)基本信息 版本:mysql 8.0.22 (1.2)模拟 rm 删除 ibd文件 删除 test库下的 test11.ibd文件 rm /data/mysql/data/test/test11.ibd 【2】情况处理 (2.1)rm 删除 ibd 文件后的影响 以下情况依然 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-08 17:14:00
                            
                                865阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # MySQL误删ibd文件
## 简介
MySQL是一个流行的关系型数据库管理系统,它以其高性能、稳定性和可靠性而广受欢迎。然而,在使用MySQL时,一不小心可能会误删数据库中的ibd文件。本文将介绍什么是ibd文件,以及当误删ibd文件时该如何恢复数据。
## 什么是ibd文件?
在MySQL中,每个InnoDB表都有一个对应的.ibd文件,用于存储数据和索引。这些文件包含了表的实际数            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-23 05:57:06
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们知道MySQL中如果用的是MYISAM数据引擎,那么数据很好恢复,只要将相应.frm, .MYD, .MYI文件拷贝过去即可。但是如果是innodb的话,如果开启innodb_file_per_table=1,则每一个数据表都是一个单独的文件,比如User表,则会建立User.frm和User.ibd.那么直接拷贝这两个文件到新的MySQL数据目录下可以吗,一般来说是不行的,那么什么时候可以呢            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 18:45:40
                            
                                288阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现“mysql误删除ibd”恢复
## 1. 整件事情的流程
首先我们来看一下整个流程,可以用表格展示步骤:
```markdown
| 步骤 | 操作                        |
| ---- | -------------------------   |
| 1    | 停止MySQL服务               |
| 2    | 拷贝数据文件和            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-01 05:23:02
                            
                                64阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            搜到这篇文章的同学,先恭喜下,你可以准备三十六计之上上计了——跑路。很多人都有理由问你怎么就能删库了,没有备份嘛。。。确实不应该,但偶有发生,就是没备份或者备份的数据太久了,真的就是脑子一抽抽就给删了。如果你的服务还没停掉或许还有一线生机,否则真的只能跑路了。废话不多说,进入正题。这里介绍的是针对MySQL5.6之后的版本,之前是否支持不清楚,我实测的版本是5.7。一、删除的文件有相应的进程还在运            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 17:12:00
                            
                                110阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            模拟误删除 lsof |grep g_device_action_base.ibd 查看当前该ibd文件对应的内存中的文件句柄 ll /proc/8084/fd/35 查看文件句柄可以看            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-19 17:41:24
                            
                                737阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            问题描述客户那边的测试服务器下午3:00左右因不明原因,所有服务访问不了,ssh也无法连接,客户手动进行强制重启服务器,重启后将所有应用、中间件重启,重启nacos时发现无法连接数据库,通过账号密码登录到数据库发现可以正常登录,但是奇怪的问题来了。。。show tables 时可以正常看到表,但是查询表中数据时发现提示表不存在。。如下图:查看mysql日志:作为一名mysql菜的不能再菜的小白。。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-12 22:15:19
                            
                                87阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、事因:执行shell测试时,shell中rm -rf $path/* 变量$path为空,结果执行的命令是rm -rf /事发时及时ctrl+c中断,导致只有/bin /boot目录删除 2、造成后果大部分/bin下的shell命令无法执行,例如ls mkdir chmod tar ssh login。。。也就是想ssh远程登录也不行了。 3、解决过程1)、好在我当前ssh            
                
         
            
            
            
            # mysql误删除part_col_stats.ibd文件
## 引言
MySQL是一种广泛使用的关系型数据库管理系统,常用于存储和管理大量的数据。在使用MySQL时,我们可能会遇到各种问题和错误。其中一个常见的问题是误删除数据库文件。本文将以误删除part_col_stats.ibd文件为例,介绍如何恢复这个文件并且修复数据库。
## 背景
part_col_stats.ibd是MyS            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-30 05:25:57
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一次误操作,把数据库给搞乱了,innodb的数据库竟然无法直接恢复,还好找了一个文章,按文章进行,最后成功恢复。吓死我了,要是搞坏了,团队的人不背地骂死我了。mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-05 15:03:35
                            
                                156阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一、 table 结构定义在哪里二、方法1:mysqlfrm1)、直接分析2)、借助 mysql 实例分析三、方法2:dbsake (推荐)四、方法3:online service mysql 正常运行的时候,查看 table 的结构并不是困难的事。 但是有时 mysql 发生故障,这种方法便不再可行。当遇到故障,通常使用新的 mysql 实例来恢复当前的数据。 创建表是非常重要的步骤,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-24 18:23:57
                            
                                103阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在数据库管理的过程中,MySQL是非常重要的关系数据库管理系统。然而,我在一次维护过程中遇到了一个棘手的问题,那就是误删除了一个重要的`.ibd`文件。在这里,我将详细记录如何解决“mysql误删除一个ibd文件 如何正常启动”这个问题的过程。
## 问题背景
在使用MySQL的过程中,由于操作不当,我误删除了一个存有关键数据的`.ibd`文件。这一错误导致数据库无法启动,影响了业务的正常运行            
                
         
            
            
            
            # MySQL误删除ibd文件导致数据库无法启动的恢复方法
在使用MySQL数据库的过程中,可能会由于误操作或其他原因导致数据库文件损坏或丢失,从而使得数据库无法正常启动。本文将介绍一种常见的问题——误删除ibd文件导致数据库无法启动的恢复方法。
## 问题背景
InnoDB是MySQL数据库的一种存储引擎,它将数据存储在表空间文件中,表空间文件的扩展名为`.ibd`。如果误删除了这些文件,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-16 11:03:04
                            
                                647阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            数据库要求:innodb_file_per_table=1  独立表空间:数据库wubo,表t1,此时在磁盘wubo目录下有t1.frm表结构和t1.ibd数据文件数据库要求:innodb_file_per_table=1 共享表空间:数据库wubo,表t1,此时在磁盘wubo目录下有t1.frm表结构但是没有t1.ibd数据文件。此时的数据文件在ibdata01里面frm:表结构ibd            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-10 07:35:54
                            
                                131阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mysql.idb文件清理
    如果你的 MySQL .ibd 文件很大,但是你的数据库文件大小不太,可能有几个原因:数据库文件和 .ibd 文件存储在不同的磁盘上。如果是这种情况,那么你需要清理 .ibd 文件所在的磁盘上的空间。数据库中的数据已经被删除了,但是 .ibd 文件中仍然保留着这些数据。这可能是因为 MySQL 并不会在删除数据时立即释放磁盘空            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-29 16:45:43
                            
                                0阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            注意!此方法只适用于innodb_file_per_table独立表空间的InnoDB实例。
此种方法可以恢复ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据的100%恢复,目的是尽可能多的恢复。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-14 07:33:54
                            
                                309阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录从frm文件中恢复表结构从ibd文件恢复表数据假设要恢复的备份表文件为test.frm和test.ibd从frm文件中恢复表结构1. 进入mysqlmysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Se            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 10:10:47
                            
                                83阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            mysql 利用ibd文件恢复数据库,需要有原来数据库中表的结构如果数据库文件非常大的话,这种方式就非常实用了,首先需要备份的数据库上右键——转储sql文件——仅结构导出该数据库的结构的sql文件,然后按照删除表空间——ibd文件复制到新建的数据库下——导入表空间的操作即可恢复数据库中的数据。此法也挺麻烦,需要逐个表进行删除表空间和恢复表空间,还是数据结构和数据 一块备份来的利索。利用拷贝data            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-02 16:07:29
                            
                                291阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.表结构定义文件:     
*.frm 文件是所有mysql数据库都有的文件,记录了该表的表结构定义。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 13:16:54
                            
                                188阅读