如何修复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,继续用标准的方法修复表。


猜你喜欢
- 1. 算法描述二分法是一种效率比较高的搜索方法回忆之前做过的猜数字的小游戏,预先给定一个小于100的正整数x,让你猜猜测过程中给予大小判断的
- 在项目中,经常会碰到往数据库中导入大量数据,以便利用sql进行数据分析。在导入数据的过程中会碰到一些需要解决的问题,这里结合导入一个大约4G
- 对于DBA来说,丢失超管用户root的密码是致命的,可以通过添加--ship-grant-tables参数来跳过权限表。1、忘记root密码
- 本文实例讲述了Python实现分割文件及合并文件的方法。分享给大家供大家参考。具体如下:分割文件split.py如下:#!/usr/bin/
- 使Web系统的开发与维护更加方便,从而有效的节省人力物力,受到了越来越多企业的青眯。 模板引擎是MVC模式建立过程的重要方法,开发者可以设计
- 引言您可以使用df.loc()函数在Pandas DataFrame的末尾添加一行:#add row to end of DataFrame
- 代码如下:vbcrlfvbs常量相当于vbcr & vblf 就是常见的那个 chr(13) & chr(10),用Chr(
- 大家都知道,在通过Pyqt4的designer工具创建界面.ui文件后需要手动cmd命令将.ui文件转换为.py之后才能进行事件的编写,如果
- 实例的背景说明假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下:Models.py 内容如下:&nb
- 1、运动速率上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200)来进行时间延迟。看了很多参考材料
- 问题: 在Python爬虫的过程中经常要模拟UserAgent, 因此自动生成UserAgent十分有用, 最近看到一个Python库(fa
- 最近对list设计感兴趣,今天说的是list视图方式的设计。感觉有些细节非常有意思,拿出来跟大家讨论。首先我们来看下windows下文件夹管
- 配置文件如下,下面对配置文件进行一一解释"""Django settings for film1_manage
- 故障转移群集是Windows Server中的一个功能,自从在Windows NT 4.0 Enterprise Edition中首次引入群
- 先看看实现效果图, 模拟拖拽最终效果和在桌面上移动文件夹的效果类似原理介绍鼠标按下时,拖拽开始。鼠标移动时,被拖拽元素跟着鼠标一起移动。鼠标
- 一、数据导入是所有数模编程的第一步编程求解一个数模问题,问题总会涉及一些数据。有些数据是在题目的文字描述中给出的,有些数据是通过题目的附件文
- CKeditor编辑器是FCKeditor的升级版本想对于FCK来说,确实比较好用,加载速度也比较快以下是如果通过JS获取CKeditor编
- 问题1:Component name “index” should always be multi-
- mysql binlog3种格式,row,mixed,statement. 解析工作mysqlbinlog --base64-output=
- 一,未使用 git add 缓存代码时。可以使用 git checkout -- filepathname (比如: git checkou