设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间01 现在时间01 缓存数据 当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

查看: 1485|回复: 4

MySQL 数据表修复方法小结

[复制链接]

  离线 

TA的专栏

  • 打卡等级:常驻代表
  • 打卡总天数:31
  • 打卡月天数:0
  • 打卡总奖励:402
  • 最近打卡:2025-11-18 02:34:34
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
390
主题
320
精华
0
金钱
1478
积分
774
注册时间
2023-2-11
最后登录
2025-11-18

发表于 2024-8-23 08:59:59 来自手机 | 显示全部楼层 |阅读模式
目录


  • 1. 指令详解
  • 2. 操作方法:

    • 命令提示符(cmd指令)操作方法
    • SQLyog 操作方法(推荐)

本文主要讲check table和repair table指令;

1. 指令详解

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

  • 检查表是否有错误
    CHECK TABLE对MyISAMInnoDB表有作用。
    对于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表起作用
  1. 语法如下:
  2. REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE    tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

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

  6. no_write_to_binlog:repair默认是写到二进制文件的,如果有主从模式的话,repair也会在从库执行;使用此选项将会禁止写入到二进制文件中。
复制代码
2. 操作方法:


命令提示符(cmd指令)操作方法

输入cmd进入命令提示符
1.png

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

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

注意:分号(;)不能省略。
注意:如果你记住了库名,不需要显示所有库的步骤。
检查表或者修复表
自此可以输入check table指令检查表,也可以输入repair table修复表。下图为检查表。
4.png
  1. mysql> check table t1 medium;
  2. 等价于
  3. # myisamchk --medium-check tablename
复制代码
快速检查没有被正确关闭的表
  1. mysql> check table 表名 quick fast;
复制代码
注意:操作到步骤1.4就可以了。

SQLyog 操作方法(推荐)

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

  • 打开SQLyog
  • 输入指令
  • 执行指令
5.png

操作成功如下图:
6.png

注意:数据表越大操作越慢
到此这篇关于MySQL 数据表修复方法小结的文章就介绍到这了,更多相关MySQL 数据表修复内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
18
积分
16
注册时间
2022-12-29
最后登录
2022-12-29

发表于 2024-9-28 07:11:50 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
18
积分
16
注册时间
2022-12-29
最后登录
2022-12-29

发表于 2025-3-21 22:34:39 | 显示全部楼层
感谢楼主,顶。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
22
积分
10
注册时间
2022-12-22
最后登录
2023-4-22

发表于 2025-4-9 14:06:13 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
21
积分
22
注册时间
2022-12-25
最后登录
2022-12-25

发表于 昨天 04:07 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼
5楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表