如何修复MySQL数据库表

作者:佚名 来源:IT专家网论坛 时间:2009-03-20 13:24:00 

一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误:

◆ “tbl_name.frm”被锁定不能改变。

◆ 不能找到文件“tbl_name.MYI”(Errcode :### )。

◆ 从表处理器的得到错误###(此时,错误135是一个例外)。

◆ 意外的文件结束。

◆ 记录文件被毁坏。

在这些情况下,你必须修复表。表的修复是一项非常困难的工作,很多情况下令人束手无策。然而,有一些常规的知道思想和过程,可以遵循它们来增加修正表的机会。通常,开始是可以用最快的修复方法,看看能否袖珍故障。如果发现不成功,可以逐步升级到更彻底的但更慢的修复方法。如果仍旧难以修复,就应该从备份中恢复了。在上一章已经详细介绍了这一部分内容。

简单安全的修复

为了修复一个表执行下列步骤:

◆ 首先,用--recover,-r选项修正表,并且用--quick,-q选项,来只根据索引文件的内容进行恢复。这样不接触数据文件来修复索引文件。(-r意味着“恢复模式”)

myisamchk -r -q tbl_name

isamchk -r -q tbl_name

◆ 如果问题仍旧存在,则忽略--quick选项,允许修复程序修改数据文件,因为这可能存在问题。下面的命令将从数据文件中删除不正确的记录和已被删除的记录并重建索引文件:

myisamchk -r tbl_name

isamchk -r tbl_name

◆ 如果前面的步骤失败,使用。安全恢复模式使用一个老的恢复方法,处理常规恢复模式不行的少数情况(但是更慢)。

myisamchk --safe-recover tbl_name

isamchk --safe-recover tbl_name

困难的修理

如果在索引文件的第一个16K块被破坏,或包含不正确的信息,或如果索引文件丢失,你只应该到这个阶段 。在这种情况下,创建一个新的索引文件是必要的。按如下这样的步骤做:

标签:MySQL数据库,MySQL,修复,错误
0
投稿

猜你喜欢

  • 两级联动select刷新后其值保持不变的实现方法

    2023-11-05 11:39:33
  • python utc datetime转换为时间戳的方法

    2021-11-18 07:11:44
  • ​​​​​​​如何利用python破解zip加密文件

    2022-11-27 17:51:30
  • MySQL中group_concat函数深入理解

    2024-01-14 23:31:34
  • Python详解复杂CSV文件处理方法

    2021-04-05 11:12:02
  • python神经网络TensorFlow简介常用基本操作教程

    2024-01-02 17:44:45
  • table 行转列的sql详解

    2024-01-27 00:44:57
  • 详解python变量与数据类型

    2021-09-24 14:38:32
  • asp GetString的用法

    2008-06-12 13:46:00
  • python智联招聘爬虫并导入到excel代码实例

    2023-09-28 14:18:00
  • python人工智能tensorflow常用激活函数Activation Functions

    2023-08-01 12:45:02
  • Python远程linux执行命令实现

    2023-11-17 14:48:14
  • 浅谈怎么给Python添加类型标注

    2023-11-21 05:16:17
  • vue学习教程之带你一步步详细解析vue-cli

    2024-05-09 10:52:46
  • 使用uni-app开发微信小程序的实现

    2024-05-13 09:10:42
  • php常量详细解析

    2023-11-20 14:24:40
  • MySQL设置global变量和session变量的两种方法详解

    2024-01-20 23:34:16
  • MySQL笔记之运算符使用详解

    2024-01-21 00:21:35
  • 解决IE下提示“无法打开Internet站点 已终止操作”的错误

    2009-03-04 12:04:00
  • SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER

    2011-09-30 11:18:24
  • asp之家 网络编程 m.aspxhome.com