我的mysql最近出现了问题,就是对其中的一个表salesquotation_color进行查询,删除,备份操作事,服务就断掉,提示为“查询时丢失了到 MySQL 服务器的连接”,其它的表都没有问题。怀疑为这个表已经损坏了。
表结构都是innodb类型的,我把data目录中的文件放到另外一个数据库中,仍然不能打开,data目录下有ib_logfile0,ib_logfile1,ibdata1,wincodb文件夹,.frm文件都在,没有问题,都放在了wincodb下。用的是Windows 2000 server,内存为2G。
我看到这个论坛里有这样的帖子,和我碰到的情况类似,已经解决了,只是没有贴出解决的方法,请问应该如何恢复这个表的数据呢?
表结构都是innodb类型的,我把data目录中的文件放到另外一个数据库中,仍然不能打开,data目录下有ib_logfile0,ib_logfile1,ibdata1,wincodb文件夹,.frm文件都在,没有问题,都放在了wincodb下。用的是Windows 2000 server,内存为2G。
我看到这个论坛里有这样的帖子,和我碰到的情况类似,已经解决了,只是没有贴出解决的方法,请问应该如何恢复这个表的数据呢?
在用户访问到有问题数据的位置就可能导致crash。而mysql目前没有修复innodb 表的工具,只能用innodb_force_recovery=1,
避免在导出数据时再crash。在my.cnf or my.ini 中设置好后重启库,再用 mysqldump或者select *把出问题的表导出来。然后重新导入(删除原表)。如果数据量大的话,就得慢慢等了。
alter table test engine=myisam
再用myisam的修复工具进行修复
提示为OK.