查询mysql表时,经常遇到表文件损坏的问题。那么mysql表文件为什么会损坏呢?
首先,明确一点:mysql的存储引擎有MyISAM、InnoDB两种,通常只有使用MyISAM存储引擎的表会发生损坏。
关于损坏的原因,mysql中文手册里有这么一段说明:
即使MyISAM表格式非常可靠(SQL语句对表做的所有改变在语句返回之前被写下),如果下列任何事件发生,你依然可以获得损坏的表:
· mysqld进程在写中间被杀掉。
· 发生未预期的计算机关闭(例如,计算机被关闭)。
· 硬件故障。
· 同时在正被服务器修改的表上使用外部程序(如myisamchk)。
· MySQL或MyISAM代码的软件缺陷。
阅读(989) | 评论(0) | 转发(0) |