误删frm文件导致建表失败

当MySQL的data目录下只有.ibd文件而缺少.frm文件时,尝试创建表会提示表已存在。分析表明.frm文件与InnoDB无关,而是服务层所需。解决方法包括手动创建非空.frm文件并调整权限,或者通过dump和restore数据库来恢复正确状态。
摘要由CSDN通过智能技术生成

data 目录下只有ibd文件,无frm文件导致建表失败的问题

一、问题描述

想要在wx库建立一张a表,却报表不存在

mysql> show tables;
Empty set (0.00 sec)
mysql> create table a(id int(1));
ERROR 1050 (42S01): Table ‘a’ already exists
mysql>

二、问题分析

发现a表没有frm文件
frm文件是历史问题,服务层需要,和innodb没有关系

[root@dbmssitdb204 wx]# ll
total 104
-rw-rw---- 1 mysql mysql 98304 Jan 4 15:06 a.ibd
-rw-rw---- 1 mysql mysql 61 Jan 4 15:06 db.opt
[root@dbmssitdb204 wx]#

三、问题处理

1、手动编辑一个a.frm文件(非空),切记权限。。。,挺靠谱

[root@dbmssitdb204 wx]# cat a.frm
erererecdfdsfgsdf
[root@dbmssitdb204 wx]# ll
total 108
-rw-rw---- 1 mysql mysql 18 Jan 4 15:11 a.frm
-rw-rw---- 1 mysql mysq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值