MySQL数据库表怎么修复_MySQL数据库表损害修复详解

Wikipedia,自由的百科全书

安装我们的论坛之后,会在mysql数据库中建立两种形式的表,一种是MyISAM,另一种是Heap,目前我们的标准论坛的数

据库中,只有cdb_sessions是Heap形式的,即是我们常说的内存表,这个你可以打开安装时候的install文件夹里面的

discuz.sql文件,可以参照着查看每个表的具体形式!

对于MyISAM形式的表,在数据库中每建立一个表,都会产生三个文件,后缀名分别是MYI(myindex),MYD(mydata),FRM,

其中myi为数据库索引文件的后缀名,myd为数据文件的后缀名,frm为表的格式的后缀名,所以,一个表中的记录会存在myd格式的文件中,表的字段信息会存在frm格式的文件中。

对此种格式的表,一般容易出现myi和myd格式文件的损害,例如:

1、Can‘t open ‘cdb_posts.MYI‘

2、SELECT groupid,url,title FROM cdb_onlinelist WHERE 1 ORDER BY displayorder Error: Got error 127 from storage engine

Errno.: 1030

这两种错误一般都会提示1030错误,即表出现错误,读取不了表中的数据了!

这种错误,你就得修复一下表了!有三种方法可以修复!

第一种,可以使用下载的程序包中的utilities/repair.php进行修复

第二种,可以使用phpmyadmin的修复表的功能进行修复

第三种,对于有主机权限的用户,可以在mysql的dos安装目录下,使用myisamchk命令进行检查

建议先用第一种方法进行修复cdb_sessions是无法修复的表,它只产生一个文件,后缀名为frm,即只有表的格式的文件,这类表的数据只存放在内存中,

cdb_sessions表中记录了当前登录的用户的登录信息,因此如果此表发生了损害,说明此表的格式文件损害或者在内存中的数据不可读取了,

一般是读表的时候造成表的锁死了,那只能重建一下,你可以打开安装时候install文件夹里的discuz.sql文件,然后找到cdb_sessions表的建表语句,到phpmyadmin里面执行就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值