爱杰奇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 384|回复: 0

[文本教程] 杰奇1.7所用MySql5.5数据表结构受损后的修复

[复制链接]

15

主题

64

帖子

79

积分

注册会员

Rank: 2

积分
79
元宝
375
QQ
发表于 2019-2-13 20:07:33 | 显示全部楼层 |阅读模式
MySql数据表结构受损后,可能会出现如下错误提示
1 、当在从表中选择数据时:Incorrect key file for table: ‘…’. Try to repair it
2 、查询不到数据。(我就是在打开网站后发现书籍数据显示正常而章节数据报错,才开始排查。最后发现是jieqi_article_chapter受损)
3 、打开表失败: Can’t open file: ‘×××.MYI’ (errno: 145) (这个提示是使用navicat打开表时,看到的错误消息)
那么什么情况会导致数据表结构受损呢?
1、 服务器突然断电导致数据文件损坏。 (强制关机就属此类故障。尤其是使用IPMI直接重启服务器)
2、 磁盘故障。 (磁盘读写出现故障而导致数据库写入异常)
3、 mysql 本身的bug 。(现在基本使用的都是稳定版本的MySql,所以此类故障应很少见)
该如何修复受损的MySql表呢?以下分三个阶段来分步介绍
第一阶段 检查哪些表受损
开始→运行→cmd→确定。


停止Mysql服务,命令行输入 net stop mysql 回车

或者在宝塔面板 → 环境 → 停止Mysql服务

进入你的mysql目录的bin目录,此处以宝塔面板所安装的Mysql5.5举例【数据库所在目录为D:\btsoft\websoft\mysql\mysql5.5\data\数据库名】

运行如下命令
[size=0.9]
[size=0.9]1

[size=0.9]myisamchk -s ../data/book/*.myi

上面的命令解释为:
myisamchk mysql自带的数据库检查修复工具
参数 -s 为静默扫描,只有发现错误的时候才会返回错误信息
数据库目录 相对路径或绝对路径都可以,最后为所有数据表文件或指明某一单独数据表文件。
如果此命令执行完,没有任何反馈信息,说明mysql的自查一切正常。
否则,会给出ERROR 在 哪个表的 多少行,因为遇到一次修复成功后,在本地机器没能复现,所以这里截图空缺。
只要你看到了如上错误信息,那么就需要转入第二阶段了。
杰奇1.7所用MySql5.5数据表结构受损后的修复  https://www.78kanshu.top/?p=483


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

爱杰奇论坛

GMT+8, 2019-5-20 12:00 , Processed in 1.171669 second(s), 40 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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