【问题标题】:MySQL said: Table doesn't exist in Sequel ProMySQL说:Sequel Pro中不存在表
【发布时间】:2014-05-14 21:14:40
【问题描述】:

我在 sequel pro 中使用 root 创建了一个 GameCenter 类型的数据库,但由于某种原因,我在连接到数据库并尝试访问表时时常出现以下错误:

检索信息时出错
表'成就'。请重试。

MySQL 说:表'gamecenter2.achievement'
不存在

我环顾四周,大多数人说这是将数据库从一个地方复制到另一个地方时出现的问题,但我没有这样做。

在使用 MySQL 的终端中,数据库和表都会显示出来,但在尝试访问表的内容时出现相同的错误:

SHOW COLUMNS FROM Achievement;
ERROR 1146 (42S02): Table 'gamecenter2.achievement' doesn't exist

非常感谢您对此提供任何帮助,因为一遍又一遍地运行 CREATE TABLES 和 INSERT 会变得非常烦人!

【问题讨论】:

    标签: mysql database insert create-table sequelpro


    【解决方案1】:

    我最近遇到了同样的问题(在 sequel pro 中也出现了同样的错误消息),后来我发现这是因为某些类型的 MySQL 数据库(即使用 InnoDB 的数据库)将单个表的实际数据存储在一个文件中命名为“ibdata1”(您可以在此处阅读更多信息:https://dba.stackexchange.com/questions/15531/why-does-innodb-store-all-databases-in-one-file)。因此,如果您使用时间机器为您的数据库恢复单个文件夹,您实际上只是在恢复空的数据库架构,而里面没有好东西。如果您还没有恢复该“ibdata1”文件以及相应的“ib_logfile”文件,它将无法找到数据。解决方案是确保您还恢复了这些文件(或最近的良好副本)。

    还请确保在恢复任何内容之前停止 mysql 服务,即从命令行“mysql.server stop”(或“launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist”,如果你已经使用自制软件安装了mysql)。

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 2016-12-19
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      相关资源
      最近更新 更多