如何故意崩溃MySQL表?

时间:2011-02-28 09:14:00

标签: mysql

目标很简单,但很不寻常。我写了一个数据库自动修复脚本(因为其中一个表不时崩溃,可能是由于非常大量的插入和不断删除),我想测试它。问题是,我需要故意崩溃一个表,我不知道如何。有什么建议吗?

2 个答案:

答案 0 :(得分:7)

在MyIsam中,运行OPTIMIZE TABLE并在其运行时将其终止。该表将被标记为崩溃。

答案 1 :(得分:5)

你可以通过将.MYI文件截断为4k(假设它大于4k)来使MyISAM表看起来崩溃。然后执行FLUSH TABLE,然后执行需要使用索引的查询。

如果表格自发崩溃,那么

  • 服务器中存在错误 OR
  • 发生了一些不好的事情 - 有人杀了-9服务器,它崩溃,电源出现故障,或有人正在修改MyISAM文件

MyISAM表不应该自动崩溃,但是你可以预期它们会在不正常关机后崩溃。不干净的停机不应该经常发生,如果是,这是一个操作问题。询问您的运营工程师发生了什么。通常很清楚查看mysql服务器错误日志会发生什么。