今天所做的努力
都是在为明天积蓄力量

MySQL 数据表修复方法

本文最后更新于2023年9月17日,已超过169天没有更新,如果文章内容失效,请留言反馈给我们,谢谢!
强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!

MySQL表检查与修复 — check/repair指令

目录
MySQL表检查与修复 --- check/repair指令
1. 指令详解
2. 操作方法:
命令提示符(cmd指令)操作方法
SQLyog 操作方法(推荐)
本文主要讲check table和repair table指令;

1. 指令详解
在检查、修复表,除了用myisamchk指令,还可以用check table、repair table指令。(指令不区分大小写)

检查表是否有错误
CHECK TABLE对MyISAM和InnoDB表有作用。
对于MyISAM表,关键字统计信息会被更新,CHECK TABLE也可以检查视图是否有错误,比如在视图定义中被引用的表已不存在。
名词解释:

InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参照完整性与并发违规处理机制,后来就逐渐取代MyISAM。
说明:
一些只对myisam表有作用(对innodb和视图无效)的选项介绍:

QUICK:不扫描行,不检查错误的链接。
FAST:只检查没有被正确关闭的表。
CHANGED:只检查自上次检查后被更改的表,和没有被正确关闭的表。
MEDIUM:扫描行,以验证被删除的链接是有效的。也可以计算各行的关键字校验和,并使用计算出的校验和验证这一点。
EXTENDED:对每行的所有关键字进行一个全面的关键字查找。这可以确保表是100%一致的,但是花的时间较长,所以很少使用。
修复有错误的表
REPAIR TABLE 用于修复被破坏的表。
默认情况下,REPAIR TABLE与myisamchk --recover tbl_name具有相同的效。
REPAIR TABLE对MyISAM和ARCHIVE表起作用
语法如下:
REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

quick:repair只修复索引,等价于“myisamchk --recover --quick tablename”
extended:MySQL会一行一行地创建索引行,等价于”myisamchk --safe-recover tablename“
use_frm:如果.MYI索引文件缺失或标题被破坏,则使用此选项,用来自.frm文件重新创建.MYI文件。这种修复不能使用myisamchk来完成;在repair常规无法完成时,才会使用这个选项,如果表被压缩不能使用。

no_write_to_binlog:repair默认是写到二进制文件的,如果有主从模式的话,repair也会在从库执行;使用此选项将会禁止写入到二进制文件中。
1
2
3
4
5
6
7
8
2. 操作方法:
命令提示符(cmd指令)操作方法
输入cmd进入命令提示符

登录MySQL
输入指令msyql -u用户名 -p密码

注意:指令必须遵循上图格式,空格不能少也不能多;
选择数据库
MySQL中可以创建多个数据库,先选择再操作;

注意:分号(;)不能省略。
注意:如果你记住了库名,不需要显示所有库的步骤。

检查表或者修复表
自此可以输入check table指令检查表,也可以输入repair table修复表。下图为检查表。

mysql> check table t1 medium;
等价于
# myisamchk --medium-check tablename
1
2
3
快速检查没有被正确关闭的表

mysql> check table 表名 quick fast;
1
注意:操作到步骤1.4就可以了。

SQLyog 操作方法(推荐)
SQLyog 是图像界面操作更直观,更简单。操作逻辑和指令是一样的,没有区别;
下图,我用repair table指令做例子,所有的指令操作都是如此;

打开SQLyog
输入指令
执行指令

操作成功如下图:

注意:数据表越大操作越慢
————————————————
版权声明:本文为CSDN博主「wu_zhiyuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wu_zhiyuan/article/details/131449662

赞(0)
未经允许不得转载:如需转载,请标注内容来源流觞 » MySQL 数据表修复方法
分享到: 更多 (0)
强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!
强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

今天所做的努力都是在为明天积蓄力量

联系我们关于小站