您的位置:首页 > 数据库 > MySQL

一次修复MySQL数据库的经历

2017-07-22 13:20 417 查看

一次修复MySQL数据库的经历

实验室服务器的硬盘满了,结果导致一个线上服务的MySQL数据库的两个表坏了。具体症状是
desc cdb_searchindex
显示

ERROR 1017 (HY000): Can't find file: 'cdb_searchindex' (errno: 2)

这是要通过/etc/my.cnf(或者同类的mysql配置文件)找到数据文件的位置。定位后进入文件夹,
ls cdb_searchindex*
一看,只剩一个cdb_searchindex.frm文件了。

接下来要进行恢复了。

第一步是确定这个表的引擎类型,命令是:

show table status from `discuz`;

一看都是MyISAM,恢复起来就相对比较容易了。

第二步是在数据库文件所在的文件夹中新建
cdb_searchindex.MYD
cdb_searchindex.MYI
两个文件,注意权限应该是mysql的。

第三步是在mysql中用

repair table cdb_searchindex USE_FRM;

就可以恢复了。

第四步用

mysqlcheck discuz;

没啥问题就OK了。

参考

MYSQL数据文件–.frm文件(只有.frm文件时的表结构恢复)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: