针对一次非法关机导致MySQL数据表损坏的情况,完整攻略如下:
如果只是单个表损坏,可以尝试修复表.
登录MySQL数据库,进入命令行.
定位到要修复的数据库:use database_name;
检查表的状态:check table table_name;
修复表:repair table table_name; 或 repair table table_name quick;("quick"选项表示快速修复)
退出MySQL:exit;
重启MySQL服务:service mysqld restart(需要root权限)
如果修复表无效或有多个表受损,可以尝试重建表.
确认表已经损坏:check table table_name;
data.sql(将数据库导出备份)
删除受损的表:drop table table_name;
重建表:去掉保存在备份文件里的建表语句,修改表名为被删除的表名,再执行建表语句.如:
CREATE TABLE table_name (
//表的字段和类型
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
将备份还原到新表:mysql database_name < data.sql 或 source data.sql
定位到要修复的数据库:use website_db;
检查表的状态:check table user_info;
修复表:repair table user_info;
如果修复失败,尝试第二种方法重建表.
确认表已经损坏:check table user_info; check table order_info;
data.sql
删除受损的表:drop table user_info; drop table order_info;
重建表:找到备份的data.sql文件,去掉保存对应表的建表语句之外的其他内容,修改表名为被删除的表名,再执行建表语句.
将备份还原到新表:mysql enterprise_db < data.sql
如果没有备份文件,可以尝试使用一些MySQL数据恢复工具来修复数据.
以上就是土嘎嘎小编为大家整理的一次非法关机导致mysql数据表损坏的实例解决相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!