如何修复MySQL数据库表(2)

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

◆ 定位到包含崩溃表的数据库目录中

◆ 把数据文件移更安全的地方。

◆ 使用表描述文件创建新的(空)数据和索引文件:

shell> mysql db_name

mysql> DELETE FROM tbl_name;

mysql> quit

上述语句将重新创建新的空表,并使用表的的描述文件tbl_name.frm重新生成新的数据和索引文件。

◆ 将老的数据文件拷贝到新创建的数据文件之中。(不要只是将老文件移回新文件之中;你要保留一个副本以防某些东西出错。)

◆ 在使用标准的修复方法。现在myisamchk -r -q应该工作了。(这不应该是一个无限循环)。

如果你拥有表的备份文件,那么一切过程就容易的多。从备份文件中可以恢复表的描述文件,然后在检查表,有可能还要继续使用标准的修复方法,应该纠可以解决问题了。

非常困难的修复

只有描述文件也破坏了,你才应该到达这个阶段。这应该从未发生过,因为在表被创建以后,描述文件就不再改变了。

从一个备份恢复描述文件并且回到阶段2。你也可以恢复索引文件并且回到阶段1。对于后者,你应该用myisamchk -r启动。

如果因为某种原因,数据的备份文件丢失或者没有备份文件,但是你还记得建立表的CREATE TABLE语句,那么太好了,这样还是可以恢复索引文件:

◆ 定位到包含崩溃表的数据库目录中

◆ 把数据文件移更安全的地方。再把数据库目录中的对应的目录删去.。

◆ 调用mysql并发复CREATE TABLE语句建立该表。

◆ 退出mysql,将原始的数据文件和索引文件移回到数据库的目录中,替换刚才新建的文件。

◆ 然后回到阶段2,修复表。也可以只移回数据文件,这样保留新的描述和索引文件,然后回到阶段1,继续用标准的方法修复表。

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

猜你喜欢

  • 微信小程序开发之tabbar图标和颜色的实现

    2024-06-20 01:43:02
  • python中数组和列表的简单实例

    2021-04-15 20:04:42
  • Python Matplotlib通过plt.subplots创建子绘图

    2022-06-03 08:23:16
  • Python中for后接else的语法使用

    2023-07-08 15:28:47
  • python K近邻算法的kd树实现

    2022-01-09 19:05:43
  • Python学习之名字,作用域,名字空间(下)

    2021-04-28 05:45:20
  • python 实现简单的计算器(gui界面)

    2022-11-14 14:35:14
  • python中实现php的var_dump函数功能

    2023-11-16 07:11:04
  • golang的httpserver优雅重启方法详解

    2023-08-06 00:22:41
  • JS基于面向对象实现的选项卡效果示例

    2024-04-19 10:42:56
  • 解决Python 进程池Pool中一些坑

    2023-12-21 00:24:31
  • 软件测试之使用Fiddler实现弱网测试

    2023-03-04 20:47:45
  • ASP访问统计计数器代码

    2008-03-20 13:33:00
  • mysql学习笔记之基础知识

    2024-01-13 08:27:16
  • C# Access数据库增删查改的简单方法

    2024-01-22 08:41:07
  • PHP入门教程之会话控制技巧(cookie与session)

    2023-11-16 00:13:39
  • python3定位并识别图片验证码实现自动登录功能

    2022-07-23 13:23:59
  • 本地使用Docker搭建go开发环境的全过程

    2024-04-30 10:05:49
  • 详解go-admin在线开发平台学习(安装、配置、启动)

    2023-08-26 15:27:31
  • Python ChineseCalendar包主要类和方法详解

    2021-10-12 10:40:40
  • asp之家 网络编程 m.aspxhome.com