我的开发环境中有一个损坏的数据库,我无法访问 - 可能是由于系统崩溃。因为我不能DROP数据库(我不记得为什么 - 现在不再重要)我只是删除了mysql / data中的数据库文件夹。
这显然不是一个好主意。在创建具有相同名称的新数据库之后,数据库中仍然存在一些表空间定义。当我尝试创建新表时,我得到以下错误:
表'database_name
。table_name
'的表空间存在。请在IMPORT之前删除表空间。
有没有一种可行的方法来摆脱给定数据库的所有引用/索引/表空间信息?当我尝试使用相同的名称DROP新创建的数据库时,我得到: “ERROR 2013(HY000):查询期间与MySQL服务器的连接丢失”。
答案 0 :(得分:0)
当你遇到这样的情况时,最好的办法是:
答案 1 :(得分:0)
对于每个表,运行以下两个查询:
ALTER TABLE tablename DISCARD TABLESPACE;
ALTER TABLE tablename IMPORT TABLESPACE;
如果有太多的表只是编写一个脚本来使用SHOW TABLES循环它们,然后是上面的两个查询。