我有一个名为的数据库apsc
,如果我SHOW TABLES;
在它上面运行,结果如下:
mysql> show tables;
+------------------------------------+
| Tables_in_apsc |
+------------------------------------+
| aps_application |
| aps_application_backup |
| aps_application_resource |
| aps_package |
| aps_package_configuration |
| aps_package_global_setting |
| aps_package_resource_configuration |
| aps_package_resource_setting |
| aps_package_series |
| aps_package_service |
| aps_registry_object |
| aps_registry_object_setting |
| aps_registry_object_tag |
| aps_resource |
| aps_resource_backup |
| aps_resource_requirement |
| aps_resource_requirement_backup |
| aps_settings_sequenses |
+------------------------------------+
18 rows in set (0.00 sec)
但是,如果我运行,SELECT * FROM aps_application
我会得到:
mysql> SELECT * FROM aps_application;
ERROR 1146 (42S02): Table 'apsc.aps_application' doesn't exist
在我的/var/lib/mysql/apsc/
目录中有一堆 .frm 文件,这让我相信这些表是 InnoDB。但是,如果它们只是在数据/日志文件中损坏或丢失,/var/lib/mysql/apsc/ibdata1
它们应该显示为table in use
或不显示,因为我最近在其他 InnoDB 表中遇到了这个问题。
我相信这些表是 Plesk 的一部分,因为我在某些时候被数据库文件覆盖并收到有关缺少视图 aps_application 的错误。Plesk 现在工作正常,所以我怀疑表已损坏。
此外,SHOW CREATE TABLE aps_application
两者SHOW CREATE VIEW aps_application
都失败并出现与 select 相同的错误。
编辑:我以具有完全权限的 root 身份登录。为了检查这一点,我切换了表格并且 SELECT 就像一个魅力一样工作。此外,如果我在 phpMyAdmin 中并选择此数据库,它会显示 0 个表,除非我运行 SHOW TABLES;在 SQL 选项卡中;