Mysql提示Table ‘xxx’ doesn’t exist的解决办法

今天做Web小伙伴说Mysql数据库无法正常导出,需要我看一下。具体表现为:
1 使用Navicat查看,编辑或删除数据表或者右键导出数据库提示错误“Table ‘ xxx’ doesn’t exist”
2 ssh登录服务器使用mysqldump执行数据库备份,提示 “Table ‘ xxx’ doesn’t exist  when using LOCK TABLES 

 解决流程:
1 先重启mysql,问题依旧
2 检查 /etc/my.cnf中lower_case_table_names值为1,忽略大小写,尝试 repair table xxx,提示表不存在。
3 因为报错的表是某主表的关联表,检查主表数据为空。所以可以确定从表在我们的业务系统中也是空的。那么可以放心删除。删除前停止web服务器,停止mysql服务。备份data文件下的此数据库。删除数据库中xxx表的MYI、MYD、frm结尾的文件。
4 启动Mysql服务 service mysqld start,表被成功删除。重新创建后,问题得到解决。

发表评论

电子邮件地址不会被公开。 必填项已用*标注