gpt4 book ai didi

Mysql 'Got error -1 from storage engine'错误

转载 作者:IT老高 更新时间:2023-10-28 23:48:05 25 4
gpt4 key购买 nike

我有一个 myism 表“test”,其中包含一些过时的数据,现在我想重新创建该表,所有列都相同,只是我将存储从 myism 更改为 innodb。我用来重新创建表的转储 sql 是这样的:

drop table test;
create table test ( ... )
engine=innodb

insert into test(...) values(...)

这就是我收到错误“存储引擎错误 -1”的地方,我用谷歌搜索了一下,大部分结果都集中在损坏的 innodb 表上。虽然就我而言,我认为它没有损坏,但这只是我在 drop and create 语句中遗漏的东西。

另一件事是,在执行了上面的 sql 之后,剩下用于表测试的是一个名为 file.frm 的文件,我猜 innodb 表需要一些其他的东西来运行,但不确定是什么。

我该如何解决这个问题?而且我可能需要做更多此类任务,删除 myism 表并将它们重新创建为 innodb 表的正确程序是什么?

谢谢。

最佳答案

好的。我找到了解决方案。该问题是由 my.cnf 中的 innodb_force_recovery 参数引起的,该参数设置为 4。

为解决问题,设置为0或从my.cnf中完全删除该参数

如果您检查错误日志,在查询期间,mysql 会以人类可读的语言编写:在启用 innodb 恢复模式之前,它不会让您更改表中的任何内容,正好是下一条消息:

InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.

请引用: http://bugs.mysql.com/bug.php?id=30225

关于Mysql 'Got error -1 from storage engine'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com