如何故意崩溃MySQL表?

cyp*_*her 10 mysql

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

Gal*_*alz 7

在MyIsam中,OPTIMIZE TABLE在它运行时运行并杀死它.该表将标记为崩溃.


Mar*_*rkR 5

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

如果表自发崩溃,则可以

  • 服务器中存在错误或
  • 发生了不好的事情-有人杀死-9服务器,它崩溃,电源中断或有人正在修改MyISAM文件

MyISAM表不应自发崩溃,但是您可以期望它们在异常关闭后崩溃。不干净的关机不应该经常发生,如果是的话,这是一个操作问题。询问您的运营工程师怎么回事。通过查看mysql服务器错误日志,通常可以清楚地了解发生了什么。