我正在将网站开发工作从一台笔记本电脑转移到另一台新笔记本电脑上。我正在运行 XAMPP 来在我的笔记本电脑上运行 Apache + MySQL(以及一些其他东西)。
我记得几年前我迁移它时,我只需安装 XAMPP,并将 C:\xampp\mysql\data 中的数据库文件复制到新笔记本电脑,启动 MySQL 服务即可。所以这次我又这样做了(确保不要覆盖“mysql”、“performance_schema”和“phpmyadmin”数据库,因为软件的版本不同。
但是,现在我遇到了一个奇怪的现象,即我可以访问某些表,但不能访问 PHPMyAdmin 中的其他表。我收到一个错误:
#1932 Table 'databasename.tablename' doesn't exist in Engine
当我查看数据文件夹时,我发现有些表有 .MYD 和 .MYI 文件,有些则没有。似乎有这些文件的表可以在 PHPMyAdmin 中看到,但其他的则看不到。
我尝试用谷歌搜索,但没有找到任何对我有用的解决方案。例如,有人说文件 iblogfile* 和 ibdata 也应该从旧笔记本电脑中复制,这确实解决了很多问题,但随后它开始抛出错误,说 phpmyadmin 中的某些表不存在...
我能做什么呢?是否可以让引擎重建索引(因为我怀疑这是某种索引问题),还是我需要做其他事情?这是一组相当广泛的数据库(68 个,不包括前面提到的三个“mysql”、“performance_schema”和“phpmyadmin”数据库)。我不知道这是否有区别?