【发布时间】:2012-05-19 07:33:59
【问题描述】:
我遇到了最奇怪的错误。
有时,在创建或更改表时,我会收到“表已存在”错误。但是,DROP TABLE 返回“#1051 - 未知表”。所以我得到了一个无法创建、无法删除的表。
当我尝试删除数据库时,mysqld 崩溃。有时创建另一个名称不同的数据库会有所帮助,有时则不然。
我使用一个有大约 50 个表的数据库,都是 InnoDB。不同的表会出现此问题。
我在 Windows、Fedora 和 Ubuntu、MySQL 5.1 和 5.5 上遇到过这种情况。使用 PDO、PHPMyAdmin 或命令行时的行为相同。我使用 MySQL Workbench 来管理我的架构 - 我看到了一些相关的错误(结束线和其他东西),但是它们都与我无关。
不,它不是视图,而是表格。所有名称都是小写的。
我尝试了所有可以用谷歌搜索的东西 - 刷新表,将 .frm 文件从 db 移动到 db,读取 mysql 日志,除了重新安装整个该死的东西之外没有任何帮助。
“显示表”没有显示任何内容,“描述”表说“表不存在”,没有 .frm 文件,但“创建表”仍然以错误结束(“如果不存在则创建表”也是如此') 和删除数据库崩溃 mysql
相关但无用的问题:
编辑:
mysql> use askyou;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table users_has_friends (id int primary key);
ERROR 1050 (42S01): Table '`askyou`.`users_has_friends`' already exists
mysql> drop table users_has_friends;
ERROR 1051 (42S02): Unknown table 'users_has_friends'
同样如此:表不存在,但无法创建;
mysql> drop database askyou;
ERROR 2013 (HY000): Lost connection to MySQL server during query
名称更改,这不是我遇到问题的唯一表/数据库
【问题讨论】:
-
你能不能打开一个 MySQL 客户端,输入一些命令来演示问题,然后复制并粘贴命令的精确副本并在此处输出。很高兴您详细描述了您的问题,但如果您发布确切的命令和消息会更好。
-
如果绝对没有同名视图,我敢打赌 MySQL 的数据文件结构很不稳定。
-
你对
SHOW FULL TABLES IN askyou和SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'askyou'有什么回应? -
你在使用innodb_file_per_table吗?
-
@RafaelBarros:非常正确。错字。感谢您的澄清。
标签: mysql