首页 >数据库 >mysql教程 >为什么即使删除表空间后,MySQL 仍显示'表的表空间已存在。导入前请丢弃”?

为什么即使删除表空间后,MySQL 仍显示'表的表空间已存在。导入前请丢弃”?

Barbara Streisand
Barbara Streisand原创
2024-12-06 00:42:10338浏览

Why Does MySQL Show

MySQL 错误:“表的表空间存在。导入前请丢弃”

问题:

当尝试重新创建意外删除的表时,用户遇到错误“Tablespace for table “database.temp”存在,请在导入之前丢弃该表空间。”尽管尝试删除或放弃表空间,错误仍然存​​在,表明该表不再存在。

答案:

此问题通常是由于“表空间”而出现“innodb_file_per_table”中出现“完整”错误

  • 识别孤立文件:

检查存储表空间表的目录(例如 /usr/local/var/ mysql)用于孤立的 .ibd 文件(例如 table3.ibd),没有其通常的 .frm 对应项(table3.frm).

  • 解决方案:

将孤立的 .ibd 文件移至临时文件夹位置:

mkdir /tmp/mysql_orphans
mv /usr/local/var/mysql/table3.ibd /tmp/mysql_orphans/
  • 注意:

确保根本原因(例如,长时间运行的查询、锁定的表)已得到解决以防止出现更多孤立文件。

以上是为什么即使删除表空间后,MySQL 仍显示'表的表空间已存在。导入前请丢弃”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn