mysql有一个数据库无法删除,运行脚本也报错,刚开始没当回事。直到这次测试用的数据库需要新增表,运行脚本直接写SQL创建都出错,才来弄这个问题。
**此方法适用场景:**1、无法删库。
2、新建表报表空间已存在。
解决方案:
1、进入MySQL CMD 窗口找到库目录: select @@datadir
2、直接切换到系统库目录:
3、找到对应的数据库名,进入目录,你就会看到每一个表都会有.frm .ibd为后缀的两个文件,缺失其中一个就会导致上面说的问题,你无法删库或者说报错已存在某某表,你就找到这个对应的丧偶文件删掉。我的就是缺失.frm文件。
4、重启mysql服务,该干嘛干嘛去。
**解释一下:
.frm:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。。
.ibd:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。
相关文章: