1

重新安装AMPPS后(升级失败,所以我在旧版本上安装了新版本,新安装后修复了一些配置文件),一些MySQL数据库表似乎丢失了。在 phpMyAdmin 我只能看到其中的一些。我检查了数据库文件夹,发现我可以看到所有表的文件 - 只有其中一些没有显示。

示例:显示在 phpMyAdmin 中的表的文件:

  • dbtable_ok.frm
  • dbtable_ok.MYD
  • dbtable_ok.MYI

未显示在 phpMyAdmin 中的表的文件:

  • dbtable_not_ok.frm
  • dbtable_not_ok.ibd

网站(尤其是 Joomla)也无法访问后面的这些文件。

这是来自 phpMyAdmin 的关于数据库和服务器的信息:

数据库服务器

Server: localhost via TCP/IP
Server type: MySQL
Server version: 5.6.23 - MySQL Community Server (GPL)
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)

网络服务器

Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.3.29 mod_wsgi/3.5 Python/2.7.9
Database client version: libmysql - mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325
PHP extension: mysqli Documentation

我希望配置文件中有一些简单的设置来解决这个问题......谢谢!

4

1 回答 1

1

MySQL 错误日志中有任何提示或警告吗?

这对你来说可能是个坏消息。重新安装可能会覆盖您现有的数据库。特别是,InnoDB 表(MySQL 默认)存储在 ibdata1(等等)文件中;此文件在 MySQL 安装之间不可移植。可能发生的情况是,新的 AMPPS 安装安装了一组新的数据库,这些数据库清除了您现有的数据库——要么只是 MySQL 用来跟踪它的元数据,要么是完整的数据库。

现在看起来您有一个单独的 .ibd 文件,这意味着所有的希望都不会丢失。说明相当复杂,恕我直言,这里不适合复制和粘贴,但请参阅 MySQL 手册https://dev.mysql.com/doc/mysql-enterprise-backup/3.7/en/partial.restoring.single.html我刚刚发现了这个随机站点http://www.chriscalender.com/recovering-an-innodb-table-from-only-an-ibd-file/也许其中一个会有所帮助。这是来自 MySQL 启动的错误消息可能有助于准确确定问题所在的地方。根据备份的时间,从备份中恢复可能更安全。

于 2015-03-24T02:26:49.553 回答