【问题标题】:MySQL 1050 Table doesn't exist, but MySQL thinks it doesMySQL 1050 表不存在,但 MySQL 认为存在
【发布时间】:2014-07-31 08:47:01
【问题描述】:

好的,我知道 MySQL 错误 1050 很常见。我花了一个半小时阅读其他问题和答案并尝试了很多东西,但由于某种原因,我无法让 mysql 重新工作。

  1. MySQL 不显示该表。
  2. SELECT * FROM `table` 产生Error 1146: Table doesn't exist
  3. DROP TABLE `table` 产生Error 1051: Unknown table
  4. DESCRIBE TABLE 产生Error 1146
  5. CREATE `table` 产生Error 1051: Table already exists

  6. SELECT * FROM information_schema.TABLES WHERE TABLE_NAME = 'table' 产生一个空结果集。

  7. 运行 FLUSH TABLES 命令,该命令成功执行,但结果为 0 row(s) affected
  8. REPAIR TABLE 产生一个Operation failed 消息,声明Table doesn't exist

什么...?

所以,很沮丧,我尝试删除整个数据库架构,然后得到'Lost connection to MySQL server during query', 2013

我觉得有些东西被破坏了,所以我尝试去/usr/local/mysql/data/ 并删除了该文件夹。该模式从 MySQL Workbench 中消失了。重新创建架构并尝试同步我的数据库模型,它说表已经存在。

我不明白这里发生了什么,我不明白我能做些什么来解决它。我只想回去工作!

【问题讨论】:

  • 它可能仍在 information_schema 和/或 mysql dbs 中列出。
  • @MarcB,我查询了 information_schema.tables 并返回了一个空结果集。事实上,在我删除架构文件夹并尝试重新同步我的模型后,架构的表都没有显示在那里。
  • 尝试从命令行或 MySQL 工具发出 FLUSH TABLES 命令。
  • FLUSH TABLES 命令执行,响应为0 rows affected.,并且表明该表存在的错误仍然存​​在。
  • 你可能想试试这个:stackoverflow.com/a/3302837/899126

标签: mysql database mysql-workbench


【解决方案1】:

我的解决方案是导出所有其他数据库并完全删除 MySQL。

发件人:http://johnmcostaiii.net/2011/removing-mysql-osx-lion/

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

# Edit the following file, removing the line `MYSQLCOM=-YES-`.
# you may need sudo for write privileges to edit the file
# TIP: when using vim, use `dd` to delete the line and then `:wq` to save
#      the file
sudo vim /etc/hostconfig   # remove the line MYSQLCOM=-YES-

重新安装 MySQL、启动实用程序、首选项窗格和 Workbench 后,我能够成功同步我的数据库模型。

@bancer 在 cmets 中的链接可能提供了一种不需要完全删除 MySQL 的替代解决方案,但老实说,看到这个答案真是让人不知所措。

【讨论】:

    【解决方案2】:

    在数据库文件夹中,我复制了另一个 .frm 文件并将其命名为问题表的名称。然后运行查询 DROP TABLE。问题解决了!

    【讨论】:

    • 欢迎您,感谢您的回答。请考虑 SO 不是论坛,而是建立在实际问题之上的知识数据库。您应该考虑改进您的答案,以便遇到相同问题并登陆此处的其他用户可以理解并将您的解决方案应用于他们的情况。编程愉快!
    猜你喜欢
    • 2011-03-19
    • 2010-12-11
    • 2018-08-02
    • 2012-05-19
    • 2011-05-14
    • 2011-08-16
    • 2018-09-17
    相关资源
    最近更新 更多