我们在生产服务器中使用Mysql 5.1并尝试运行alter query以将列的数据类型从tinytext更改为varchar(200)。在运行alter query时,我们看到了这个错误: -
#1025 - 将'./msging/#sql-123b_ab7634'重命名为'时出错 './msging/outboxes'(错误号:-1)
MySql论坛表明此错误可能是由于外键约束。但是我们的架构没有任何外键。 mysql错误日志显示下面提到的错误。我们通过错误语句中提到的链接但找不到任何有用的东西。什么想法可能会出错?
InnoDB:错误:'。/ msging / outboxes.ibd'已经在表空间内存中 缓存
111001 12:40:18 InnoDB:表重命名出错,不能 将msging
。#sql-123b_ab4828
重命名为msging
。outboxes
111001 12:40:18 InnoDB:错误:表msging
。outboxes
不存在 InnoDB内部
InnoDB:虽然MySQL是数据字典 试图放弃它。
InnoDB:你复制了.frm的文件吗? 表到了InnoDB:来自另一个的MySQL数据库目录 数据库?
InnoDB:您可以从InnoDB寻找更多帮助: http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html
答案 0 :(得分:3)
使用ALTER TABLE
重命名表时,会发生以下情况:
有关详细信息,请参阅此链接:http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/
您可以使用innotop
获取有关错误的更多详细信息:http://code.google.com/p/innotop/