我的开发环境中有一个损坏的数据库,我无法再访问它--可能是因为系统崩溃。由于我不能删除数据库(我记不清为什么了--现在已经不重要了),我只是删除了mysql/data中的databases文件夹。
这显然不是一个好主意。创建具有相同名称的新数据库后,数据库中的某处仍有一些表空间定义。当我尝试创建新表时,我得到以下错误:
表'database_name.table_name‘的表空间存在。请在导入前丢弃表空间。
有没有一种合适的方法来消除给定数据库的所有引用/索引/表空间信息?当我尝试删除具有相同名称的新创建的数据库时,我得到:"ERROR 2013 (HY000):查询期间丢失与MySQL服务器的连接“。
发布于 2013-12-28 05:46:14
当你遇到这样的情况时,最好的办法是:
从backup database
发布于 2017-03-16 05:14:43
对于每个表,运行以下两个查询:
ALTER TABLE tablename DISCARD TABLESPACE;
ALTER TABLE tablename IMPORT TABLESPACE;如果有太多的表,只需编写一个脚本使用SHOW tables遍历它们,然后使用上面的两个查询。
https://stackoverflow.com/questions/20800399
复制相似问题