数码资讯
MySQL表的失效检测方法
表的故障检测和纠正的一般过程如下: 检查错误表。如果表检查被传递,任务完成,或者错误的数据库表必须被修复。 在修复开始之前复制表文件,以确保数据的安全性。 开始修复数据库表。 如果修复失败,则从数据库的备份或更新日志中恢复数据。 以前用myisamchk或isamchk检查或修理的表,你首先要注意:
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
表的故障检测和纠正的一般过程如下:
检查错误表。如果表检查被传递,任务完成,或者错误的数据库表必须被修复。
在修复开始之前复制表文件,以确保数据的安全性。
开始修复数据库表。
如果修复失败,则从数据库的备份或更新日志中恢复数据。
以前用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,只检查更改
只检查上次检查后修改过的表。
检查错误表。如果表检查被传递,任务完成,或者错误的数据库表必须被修复。
在修复开始之前复制表文件,以确保数据的安全性。
开始修复数据库表。
如果修复失败,则从数据库的备份或更新日志中恢复数据。
以前用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,只检查更改
只检查上次检查后修改过的表。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。