Mysql InnoDB 错误代码#1025

发布于 2024-12-07 16:03:56 字数 933 浏览 1 评论 0原文

我们在生产服务器中使用 Mysql 5.1,并尝试运行 alter 查询以将列的数据类型从tinytext 更改为varchar(200)。在运行更改查询时,我们看到此错误:-

#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:错误:表 msgingoutboxes 不存在于 InnoDB内部InnoDB:数据字典虽然MySQL是 试图放弃它。
InnoDB:您是否复制了.frm文件 表到
InnoDB:从另一个MySQL 数据库目录 数据库?
InnoDB:您可以从
InnoDB 寻求进一步的帮助: http://dev.mysql.com/doc/refman/5.1 /en/innodb-troubleshooting.html

We are using Mysql 5.1 in our production servers and trying to run an alter query to change the datatype of a column from tinytext to varchar(200). On running the alter query we are seeing this error :-

#1025 - Error on rename of './msging/#sql-123b_ab7634' to
'./msging/outboxes' (errno: -1)

The MySql forums suggest that this error might be because of foreign key constraints. But our schema does not have any foreign keys. The mysql error logs are showing the below mentioned error.We went through the link mentioned in the error statement but couldn't find anything useful. Any ideas what might be going wrong ?

InnoDB: Error: './msging/outboxes.ibd' is already in tablespace memory
cache
111001 12:40:18 InnoDB: Error in table rename, cannot
rename msging.#sql-123b_ab4828 to msging.outboxes
111001
12:40:18 InnoDB: Error: table msging.outboxes does not exist in
the InnoDB internal
InnoDB: data dictionary though MySQL is
trying to drop it.
InnoDB: Have you copied the .frm file of the
table to the
InnoDB: MySQL database directory from another
database?
InnoDB: You can look for further help from
InnoDB:
http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你列表最软的妹 2024-12-14 16:03:56

当您使用ALTER TABLE重命名表时,会发生以下情况:

  1. 该表被复制到具有随机文件名的新文件中。
  2. 对新文件进行更改。
  3. 使用随机临时文件名重命名旧表。
  4. 新表被重命名以取代旧文件。
  5. 旧表已被删除。

有关更多详细信息,请参阅此链接: http://www .xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/

您可以使用innotop获取有关错误:http://code.google.com/p/innotop/

When you rename a table using ALTER TABLE, here's what happens:

  1. The table is copied to a new file with a random filename.
  2. Changes are made to the new file.
  3. The old table is renamed using a random temporary filename.
  4. The new table is renamed to take the place of the old file.
  5. The old table is removed.

See this link for more details: http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/

You can use innotop to get more details on the error: http://code.google.com/p/innotop/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文