Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是什么导致MyISAM变得腐败?_Mysql_Myisam - Fatal编程技术网

Mysql 是什么导致MyISAM变得腐败?

Mysql 是什么导致MyISAM变得腐败?,mysql,myisam,Mysql,Myisam,我听说MyISAM表可能会损坏,什么样的操作最有可能损坏它们,以及如何安全地修复这些损坏。MySQL文档非常明确地说明了这一点:MyISAM的另一个问题(虽然从严格意义上讲不是真正的数据库损坏)原因是它不正确地支持事务(提交-回滚) 这还可能早晚导致数据完整性问题(取决于数据库层实现的质量) 在我看来,这使得MySQL中的“快速”MyISAM后端仅成为非常简单或非常小的数据库的一个选项…我有时会发现MyISAM损坏。在我的服务器上,这个问题是非常重的负载,它会压倒MySQL,导致MySQL挂起。

我听说MyISAM表可能会损坏,什么样的操作最有可能损坏它们,以及如何安全地修复这些损坏。

MySQL文档非常明确地说明了这一点:

MyISAM的另一个问题(虽然从严格意义上讲不是真正的数据库损坏)原因是它不正确地支持事务(提交-回滚)

还可能早晚导致数据完整性问题(取决于数据库层实现的质量)


在我看来,这使得MySQL中的“快速”MyISAM后端仅成为非常简单或非常小的数据库的一个选项…

我有时会发现MyISAM损坏。在我的服务器上,这个问题是非常重的负载,它会压倒MySQL,导致MySQL挂起。这就是现实世界中发生的事情;)

我有一台生产服务器,在冷重设(例如电源故障)的情况下,更新过程中的所有MyISAM表都会损坏mysqlcheck解决了这个问题。
我建议将带有--auto repair选项的mysqlcheck放在cron中,以修复运行时发生的罕见损坏情况。

据我所知,我发现电源故障或同步中的突然故障会导致Myisam数据损坏


切换到innodb将是这里的最佳选择。

。。。或实现良好的数据库层