我已经使用root在续集pro中创建了一个GameCenter类型的数据库,但是由于某些原因,在连接到数据库并试图访问表时,我不时会遇到以下错误:
检索信息时发生错误。 表“成就”。请再试一次。 MySQL说:“游戏2.成就” 不存在
我环顾四周,大多数人说,这是一个问题时,复制一个数据库从一个地方到另一个地方,但我没有这样做。
在使用MySQL的终端中,数据库和表都会显示出来,但我在试图访问表的内容时也会遇到相同的错误:
SHOW COLUMNS FROM Achievement;
ERROR 1146 (42S02): Table 'gamecenter2.achievement' doesn't exist对此的任何帮助都将是非常感谢的,因为运行CREATE并一次又一次地插入是非常令人厌烦的!
发布于 2014-10-07 14:32:45
我最近遇到了同样的问题(以及续集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“(或者”mysql.server stop“,如果您已经安装了mysql,则卸载mysql.server)。
https://stackoverflow.com/questions/23665263
复制相似问题