本文转自他人 mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心,只要有部分的frm、ibd存在就可以恢复部 ...
分类:
数据库 时间:
2018-06-29 19:22:00
阅读次数:
157
在日常工作中,经常会遇到历史大表从主库上迁移到备份机,以便腾出主库空间,那么如果你直接droptable后,可能会引起数据库抖动,连接数升高等问题,从而影响业务。那么用一个小技巧,即可轻松平滑的从主库上删除历史大表。1、创建一个硬链接,在droptable表时,"欺骗"MySQL已经删除完毕。lntest.ibdtest.ibd.hdlk2、这个时候不要直接rmtest.ibd
分类:
其他好文 时间:
2018-06-17 12:37:29
阅读次数:
155
客户名称 保密 数据类型 mysql 5.6 for win 数据容量 6 G 故障类型 数据库被误删除。客户自己尝试各类恢复工具无法找到丢失的数据库文件. 修复结果 使用极佳mysql数据库碎片恢复工具 从分区 提取全部的ibd文件, 根据客户提供的两个表的 表结构 ,生成frm文件,跟组合后的i ...
分类:
数据库 时间:
2018-05-25 01:45:32
阅读次数:
436
MySQL5.6之前的版本DDL是非原子的。也就是说对于复合的DDL,比如DROPTABLEt1,t2;执行过程中如果遇到servercrash,有可能出现表t1被DROP掉了,但是t2没有被DROP掉的情况。即便是一条DDL,比如CREATETABLEt1(aint);也可能在servercrash的情况下导致建表不完整,有可能在建表失败的情况下遗留.frm或者.ibd文件。从原理流程图中可以看
分类:
数据库 时间:
2018-05-13 21:36:52
阅读次数:
252
MYSQL 在配置了innodb_file_per_table=ON的情况下,会为每一张数据表创建一个ibd文件,使用truncate操作数据表,MYSQL会重新创建ibd文件,如果这个过程中数据库进程被非正常关闭,极易导致数据库表损坏
分类:
数据库 时间:
2018-04-10 16:06:04
阅读次数:
292
表结构 一个db一个文件夹. 一张表两个文件frm是存表结构的,ibd是存数据的 连接层: sock ip sql层: 存储层: my.cnf读取顺序 观察启动进程(数据目录) mysql日常维护 ...
分类:
数据库 时间:
2018-03-09 19:01:35
阅读次数:
193
我们知道启用innodb_file_per_table选项后,单个表(InnoDB引擎)的数据和索引放入单独的文件中(.ibd),建表语句保存在.frm文件中本文假设192.168.85.132,3306实例无法启动(磁盘还能访问),需要将原实例下的replcrash.py_user表恢复到192. ...
分类:
其他好文 时间:
2017-12-28 19:44:25
阅读次数:
266
mysql表分区是个好技术,有效代替垂直分页和水平分页的各种不足,表分区,在物理上能让表的容量变小,逻辑上又是一个整体的数据表,前端的应用的代码都不用改。表分区技术可以直接应用于myisam引擎表,在应用于innodb引擎时,索引文件不能用共享容量,必须设置成单独空间的。在配置文件中将innodb_file_per_table=1--innodb:主表.frm保存表结构和分区数目一致的.ibd文件
分类:
数据库 时间:
2017-12-02 16:13:55
阅读次数:
304
说 Redis 的缓存机制实现之前,我想先回顾一下 mysql mysql 存储在哪儿呢? 以 windows 为例,mysql 的表和数据,存储在data 目录下frm ibd 后缀的文件中 mysql存储在机器/服务器的 硬盘中 所以 mysql 读写数据都需要从磁盘读取 。磁盘的容量,带宽的大 ...
分类:
其他好文 时间:
2017-09-28 18:08:39
阅读次数:
347
Mysql体系结构和存储引擎 1.1 定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合。 数据库文件可以使frm,MYD,MYI,ibd结尾的文件。 实例:MySQL数据库由后台线程以及一个共享内存区组成。 数据库实例才是真正用于操作数据库文件的。 实例与数据库的关系通常是一一对应 ...
分类:
数据库 时间:
2017-09-13 21:11:29
阅读次数:
175