【问题标题】:Mysql InnoDB Error code #1025Mysql InnoDB 错误代码 #1025
【发布时间】:2011-10-01 07:41:24
【问题描述】:

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

#1025 - 重命名“./msging/#sql-123b_ab7634”时出错 './msging/outboxes' (errno: -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

【问题讨论】:

    标签: mysql innodb


    【解决方案1】:

    当您使用 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/

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 1970-01-01
      • 2016-01-18
      • 2013-11-09
      • 2017-11-27
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多