【1.1】mysql frm文件丢失(ibd文件丢失)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【1.1】mysql frm文件丢失(ibd文件丢失),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1274字,纯文字阅读大概需要2分钟。
内容图文
![【1.1】mysql frm文件丢失(ibd文件丢失)](/upload/InfoBanner/zyjiaocheng/516/e1f3b41ba31c46618a792edef0b11bc4.jpg)
【1】故障模拟准备环境
这里以innodb为例
【1.1】配置参数
开启独立表空间 innodb_file_per_table;
【1.2】构建测试数据
create database test;
create table a(id int,num int);
insert into a values(1,11),(2,12);
【2】故障模拟
【2.1】在业务正在运行的情况下,手动删除 test库 下的 a.frm
【2.2】删除完之后,会发生什么?
如上图所示可知(在业务还在跑的情况下):
无论是对于数据表的增删查改,还是数据结构的增删查改。统统失效,连 information_schema.columns 都查不到。
【3】彻底删除这个表
【3.1】保留这个表数据(要是真不想要了,这步也可以不用做)
cp a.ibd a_bak.ibd
【3.2】随便找个其他表的frm文件重命名成故障表的frm文件
cp test1.frm a.frm
【3.3】加上权限,如下图可以发现是root创建的
chown -R mysql:mysql /data/mysql
【3.4】查看表与表结构,然后删除表
我们可以发现已经有了,但很明显,表结构不是我们a表的结构,而是test1表结构。弄好了之后,发现我们可以删除表了!
【4】恢复使用
【4.1】去其他库构建相同名称表
create database test1;
如何获取表结构?只能靠着记忆,或者去binlog里看看有没有,最靠谱的当然是去备份里找。
【1.1】mysql frm文件丢失(ibd文件丢失)
标签:手动 val 相同 base int 备份 png 环境 开启
本文系统来源:https://www.cnblogs.com/gered/p/11865624.html
内容总结
以上是互联网集市为您收集整理的【1.1】mysql frm文件丢失(ibd文件丢失)全部内容,希望文章能够帮你解决【1.1】mysql frm文件丢失(ibd文件丢失)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。