52杰奇论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4584|回复: 0

服务器突然关机,杰奇数据库受损修复办法

[复制链接]

595

主题

250

回帖

100万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1004922
发表于 2022-4-23 16:00:00 | 显示全部楼层 |阅读模式
修复错误“is marked as crashed and last (automatic?) repair failed”的几种方法


服务器非法关机,有可能会对部分数据库造成一定影响。一般运行会报错,**.MYI 不能打开。 Can't find file: '***.MYI' 请使用repair.php或者使用phpmyadmin修复一下数据表。

1.使用phpmyadmin修复数据表
进入论坛数据库,然后选择要修复的表,在页脚下拉框选择“修复”即可。
2.如果您的服务器是独立主机强烈建议使用命令行方式进行修复:
修复前将mysql服务停止。
如果是Win主机,打开命令行方式,然后进入到mysql的/bin目录。
执行myisamchk -r d:\mysql\data\*.MYI
其中d:\mysql\data\discuz\换成您的数据库所在路径。
如果是类Unix主机,直接使用myisamchk -r 数据库目录\*.MYI 即可。
其中我用第二种办法时,在phpmyadmin中显示此表正在使用中,phpmyadmin修复操作无法对此表进行修复操作。那就用第三种办法了,朋友服务器用的是win服务器主机,于是打开命令行,首先停止mysql服务:net stop mysql,然后进入到mysql的bin目录,输入:myisamchk -r d:\mysql\data\*.MYI,如果是能确认是哪个表,也可以把前面的*号直接换为具体的表名称,一般全部修复没问题。回车确定后,修复进程就在不断的一个表一个表,一行一行的修复中了。
修复过后,启动mysql数据库,net start mysql,然后到浏览器,打开论坛页面,试着浏览帖子,发贴等,已经全部正常,至此完全恢复OK。
经验就不多说了,在操作过程中中断是非常可怕的事,当然,关机断电更可怕。另外,更重要的一点就是在出问题以后,进行操作修复以前,一定要停掉mysql,然后直接到data目录中,备份好你的数据库,这很关键;一定要是停掉mysql以后备份。备份,是一个很好的习惯!呵!!

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|52杰奇论坛  

GMT+8, 2024-4-20 04:04 , Processed in 0.089432 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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