更新后 LAMPP 错误 #1932:表不存在

Posted

技术标签:

【中文标题】更新后 LAMPP 错误 #1932:表不存在【英文标题】:LAMPP Error #1932 after update: Tables don't exist 【发布时间】:2017-08-16 14:12:43 【问题描述】:

我最近更新了我的 Ubuntu 服务器,现在我数据库中的所有表都告诉我它们不存在。

重启机器后我的 phpMyAdmin 出现了一些问题,所以我重新安装了它并最终让它再次工作。我可以看到数据库,它列出了所有的表,但是只要我点击任何一个,它就会显示“表 xxx.xxxx 在引擎中不存在”。我可以看到文件还在 nautilus 中。

我做了很多研究,看到了一些关于重建表的一般信息,但我通常不会在 LAMPP 环境中做任何事情,也不会丢失任何这些数据,所以我一直很谨慎关于运行一些命令(尤其是那些包含 DROP 的命令)。 我在 ubuntu 16.04 上运行 XAMPP for Linux 5.6.23 和 phpMyAdmin 4.5.2

【问题讨论】:

您在更改数据库服务器之前是否对数据库进行了备份? 可能是存储引擎未安装在 mysql 服务器中的问题。 @RiggsFolly 不,我没有(我意识到这很愚蠢)。 @arkascha 你能详细说明一下吗?我将如何进行检查? 不确定,我想说您需要知道或找出这些表是基于什么存储引擎构建的。一个好的开始是使用存储文件夹并将其放入使用旧版本的 mysql 设置中,虚拟机或 docker 容器可能是一个不错的选择......这也将使您能够进行干净的备份转储如果您让旧版本接受该数据文件夹。 【参考方案1】:

我最终确实解决了这个问题。我使用https://recovery.twindb.com/ 来恢复frm 文件并使用MySQL CLI 一次重建一个数据库表。我删除并重新安装了 XAMPP 和 phpMyAdmin,在转储然后导入后终于可以正常工作了。

【讨论】:

以上是关于更新后 LAMPP 错误 #1932:表不存在的主要内容,如果未能解决你的问题,请参考以下文章

PHP - MySQL - 表不存在

如何修复 #1932 - 引擎中不存在表

Docker 更新后 Mysql 表丢失:“引擎中不存在表名”

Django:将 MySQL db 转移到服务器 MySQL 后表不存在

创建表脚本语法错误“表不存在”

MySQL 创建表错误 - 表不存在