MySQL表的失效检测方法

MySQL表的失效检测方法
表的故障检测和纠正的一般过程如下:

检查错误表。如果表检查被传递,任务完成,或者错误的数据库表必须被修复。

在修复开始之前复制文件,以确保数据的安全性。

开始修复数据库表。

如果修复失败,则从数据库的备份或更新日志中恢复数据。

以前用myisamchk或isamchk检查或修理的表,你首先要注意:

设置数据库备份并使用更新日志以防止修复失败和丢失数据。

在阅读之前,请仔细阅读本章,尤其是在阅读之前不必做这一章以避免与MySQL服务器交互,因为如果你没有足够的知识做这件事,它会导致严重的后果。

如果您维护UNIX平台上的表,首先应注册特殊帐户MySQL,以避免所有权问题,并销毁数据库目录的所有权限

数据库表维护工具

MySQL的myisanchk和isamchk事业是非常相似的,基本上都使用相同的方法,使用时,它们之间主要的差别表类型。为了检查/修复MyISAM表(。我和MYD),你应该使用myisamchk实用。为了检查/修复ISAM表(。ISM和ISD),你应该使用isamchk效用。

为了使用任何应用程序,你必须指定你要检查或修复的表,和isamchk myisamchk和使用:

复制代码如下:壳> myisamchk选项tbl_name壳> isamchk选项tbl_name
如果您愿意,可以在命令行中列出几个表。

你也可以指定一个名字作为一个索引文件(using.myi or.ism后缀),它允许你通过使用模式*指定目录中的所有表。我or.ism.for的例子,如果你在数据库目录下,你可以查看所有表的目录,这样:

复制代码如下:壳壳> > myisamchk *。我isamchk *。
如果您不在数据库目录中,则可以指定目录的路径

复制代码如下:壳> myisamchk选项路径 / / / * database_dir。我壳> isamchk选项 / / / database_dir路径 / *。
您甚至可以通过为MySQL数据目录的路径指定通配符来指定所有数据库中的所有表:

复制代码如下:壳> myisamchk选项路径 / / / / * * datadir。myishell > isamchk选项 / / / database_dir路径 / / * *。
此方法不能在windows平台下使用。

注意是否isamchk myisamchk或不作出任何判断的位置表。因此,它应该在包含表文件的目录中运行程序,或者指定表的路径名,这允许您将表文件复制到另一个目录,并使用该副本操作它。

检查数据库表

myisamchk和isamchk提供一种方法检查表,在不同程度上,桌上是彻底检查。

标准方法清单

通常标准方法是足够的,表使用标准的方法来检查,没有任何直接调用,或者任何S或-无选项:

复制代码如下:myisamchk tbl_name isamchk tbl_name
这可以找到所有错误的99.99%。它不能只找到对数据文件损坏(这是不常见的)。

全面彻底的数据检查

执行扩展检查,使用扩展检查或E选项检查数据:

复制代码如下:myisamchk - E tbl_name isamchk E tbl_name
这是一个完整和全面的数据检查(E手段延伸检查),检查每一行读取每个键确认他们做点正确的线路。这可能需要很长的时间在一个大桌子的很多钥匙。Myisamchk通常会在发现第一个错误停止。如果你想获得更多的信息,你可以添加详细(V)选项。这使得myisamchk或isamchk继续最多达到20的误差。在一般的使用,一个简单的标准检查(除表的名称没有参数)是足够的。

适度的考试

指定选项——中检查或M

复制代码代码如下:myisamchk - M tbl_name
中等水平的检查不如延期检查好,但速度更快,意义不大,使用较少。

如果错误不报告的扩展检查,可以肯定的是,该表是完整的。如果你仍然感觉与看问题,原因是在别的地方。应该复查,如果查询是验证查询写的是正确的问题。如果你认为问题可能是MySQL服务器的原因,你应该考虑整理出一个故障报告或升级到新的版本。

可能的检查选项:

1 - i或-信息打印统计信息,如:

复制代码如下:myisamchk -我tbl_name
像以前的命令,我选择告诉myisamchk打印一些统计。

2 - C,只检查更改

只检查上次检查后修改过的表。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部