删除MySQL innodb中的孤立临时表

时间:2014-11-28 08:58:43

标签: mysql innodb

在unubntu上运行mysql 5.6.19。崩溃后剩下一张大临时表。想要摆脱它,如下所述:http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html。我正在跑步:

mysql -h 127.0.0.1 -u<username> -p<password> mydb -e "drop table \`#mysql50##sql-ib137812\`;"`

并在第1行获得'ERROR 1051(42S02):未知表'mydb。#sql-ib137812'。
我确认.frm和.ibd文件都已到位,我可以在innodb_sys_tables中看到该表。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我找到了更简单的方法,工作正常。如果您需要修复许多服务器,它甚至可以编写脚本。

  1. 创建空的临时数据库。让它成为tmp1234

  2. 将所有表格从原始数据库移至tmp1234

  3. 删除原始数据库(现在它已空,所有表都在tmp1234中)

  4. 再次创建原始数据库

  5. 将所有表从临时数据库移动到原始数据库。 删除空的临时数据库。

  6. 查看帖子Resolving ERROR 1050 (42S01) at line 1: Table ‘sakila/#sql-ib712′ already exists

    中的一些详细信息
相关问题