MySQL 1050表并不存在,但MySQL认为它确实存在

时间:2014-06-10 14:25:03

标签: mysql database mysql-workbench

好的,我知道MySQL Error 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. 创建`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
  9. 什么......?

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

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

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

2 个答案:

答案 0 :(得分:0)

我的解决方案是导出所有其他数据库并完全删除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评论中的链接可能提供了一个不需要完全删除MySQL的替代解决方案,但我说实话,看看这个答案是非常压倒性的。

答案 1 :(得分:0)

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