Mysql转储坠毁表进行修复

我有一个大的表崩溃,但是当我尝试在服务器上运行修复我有问题,没有足够的磁盘空间。 我想转储此表到我的本地机器进行修复,但mysqldump抛出错误,因为坠毁表。 是否有可能转储此表进行修复本地?

这是MyISAM吗? InnoDB的?

如果是MyISAM,你可以试试myisamcheck --safe-recover作为文档说:

“这种恢复方法比使用恢复方法还要less用多less磁盘空间。通常情况下,应该首先使用–recover进行修复,然后使用–safe-recover进行修复。

这里是参考 。

这是一个古老的问题,但为了其他人来这里寻找答案的好处:

我们看到这样的问题相当多,大多数人错过了一个非常明显的解决scheme。 如果没有足够的驱动器空间来进行修复,则可以通过将其他文件移出系统来临时创build需要空间,甚至可以压缩不需要马上需要的目录。 例如,所有这些手册页占用了大量的空间,并且压缩得非常好,或者你可以清除/ tmp目录,归档日志等。还可以从系统中转储和删除所有其他数据库(如果这是实用的)并恢复后者。

清理空间可能比移动损坏的数据库文件更可取,而这些数据库文件甚至可能在进程中进一步受到影响。 有时候最好在箱子里面思考。

我通过将数据库复制到具有更多驱动器空间并正在运行的本地计算机来解决此问题 – 恢复。