REPAIR TABLE语法介绍——MySQL数据库

时间:2012-01-05 19:08:59 

[pre]REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE[/pre][pre] tbl_name[,tbl_name] ... [QUICK] [EXTENDED] [USE_FRM][/pre]REPAIR TABLE用于修复被破坏的表。默认情况下,REPAIR TABLE与myisamchk --recovertbl_name具有相同的效果。REPAIR TABLE对MyISAM和ARCHIVE表起作用。

通常,您基本上不必运行此语句。但是,如果灾难发生,REPAIR TABLE很有可能从MyISAM表中找回所有数据。如果您的表经常被破坏,您应该尽力找到原因,以避免使用REPAIR TALBE。请参见A.4.2节,“如果MySQL依然崩溃,应作些什么”。同时也见15.1.4节,“MyISAM表方面的问题”。

本语句会返回一个含有以下列的表:

对于每个被修复的表,REPAIR TABLE语句会产生多行的信息。上一行含有一个Msg_type状态值。Msg_test通常应为OK。如果您没有得到OK,您应该尝试使用myisamchk --safe-recover修复表,因为REPAIR TABLE尚不会执行所有的myisamchk选项。我们计划在将来使它的灵活性更强。

如果给定了QUICK,则REPAIR TABLE会尝试只修复索引树。这种类型的修复与使用myisamchk --recover --quick相似。

如果您使用EXTENDED,则MySQL会一行一行地创建索引行,代替使用分类一次创建一个索引。这种类型的修复与使用myisamchk --safe-recover相似。

对于REPAIR TABLE,还有一种USE_FRM模式可以利用。如果.MYI索引文件缺失或标题被破坏,则使用此模式。在这种模式下,MySQL可以使用来自.frm文件重新创建.MYI文件。这种修复不能使用myisamchk来完成。 注释:只能在您不能使用常规REPAIR模式是,才能使用此模式。.MYI标题包含重要的表元数据(特别是,当前的AUTO_INCREMENT值和Delete链接)。这些元数据在REPAIR...USE_FRM中丢失。如果表被压缩,则不能使用USE_FRM。因为本信息也存储在.MYI文件中。

REPAIR TABLE语句被写入二进制日志中,除非使用了自选的NO_WRITE_TO_BINLOG关键词(或其别名LOCAL)。

警告:如果在REPAIR TABLE运行过程中,服务器停机,则在重新启动之后,在执行其它操作之前,您必须立刻对表再执行一个REPAIR TABLE语句。(通过制作一个备份来启动是一个好办法。)再最不利情况下,您可以有一个新的干净的索引文件,不含有关数据文件的信息。然后,您执行的下一个操作会覆盖数据文件。这很少发生,但是是有可能的。

标签:mysql,数据库
0
投稿

猜你喜欢

  • Python如何利用IMAP实现邮箱客户端功能

    2023-11-08 22:23:56
  • 一个css与js结合的下拉菜单支持主流浏览器

    2023-07-18 01:28:20
  • 浅谈Python中用datetime包进行对时间的一些操作

    2022-09-27 09:32:14
  • Django用内置方法实现简单搜索功能的方法

    2021-09-15 21:02:52
  • 两大步骤教您开启MySQL 数据库远程登陆帐号

    2010-09-30 16:42:00
  • Python 实现OpenCV格式和PIL.Image格式互转

    2021-08-03 03:41:42
  • MySQL中二进制与重做日志文件的基本概念学习教程

    2024-01-19 07:59:19
  • php安全攻防利用文件上传漏洞与绕过技巧详解

    2023-07-23 12:08:06
  • Python3 导入上级目录中的模块实例

    2023-09-01 02:25:20
  • Python Pivot table透视表使用方法解析

    2021-06-21 10:22:59
  • python 如何使用requests下载文件

    2023-06-08 20:36:58
  • 浅谈Python实现2种文件复制的方法

    2021-09-24 00:25:02
  • Selenium(Python web测试工具)基本用法详解

    2022-08-02 22:04:39
  • python常见读取语音的3种方法速度对比

    2021-03-08 11:12:33
  • 浅析ThinkPHP中的pathinfo模式和URL重写

    2024-05-03 15:50:39
  • 使用python编写android截屏脚本双击运行即可

    2021-01-25 20:47:19
  • vue获取路由详细内容信息方法实例

    2024-06-07 16:01:53
  • Python编程判断这天是这一年第几天的方法示例

    2022-01-30 22:38:19
  • django 捕获异常和日志系统过程详解

    2022-04-26 22:12:43
  • 详解pyinstaller selenium python3 chrome打包问题

    2023-08-12 08:26:40
  • asp之家 网络编程 m.aspxhome.com