Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.解决办法

今天在navicat上操作mysql数据库表,突然没有响应了。随后重启,mysql服务也终止了。随后启动服务,检查表,发现一张表卡没了,就重新添加一张表。报了一个错:

Error : Tablespace for table ‘`database`.`temp`‘ exists. Please DISCARD the tablespace before IMPORT.

可是show  databases看了一下根本就没有这张表啊。网上查了半天都没有找到类似的情况,花了好几个小时。

最后终于找到解决办法如下:

1、关闭所有mysql操作,停止mysql服务。

2、找到安装目录下的数据库文件,应该在你安装目录下的data文件夹下,然后打开你对应的数据库名的文件夹。找到那个表对应的文件,还有损坏的文件,一并删除。

数据库中的文件名,应该是和你的表名一一对应的,一个表,两个文件,一个数据文件,一个是日志文件,除了这个还有一个“db.opt”文件不要删除。其他的乱码的文件,和原来你出错的文件全部删除。

3、完了以后重新启动mysql服务,重新添加那个同样名字的表就可以添加成功了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。