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

相关文章:

  • 2021-11-08
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
猜你喜欢
  • 2021-06-29
  • 2021-09-29
  • 2022-12-23
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案