解决“错误代码:1030。从存储引擎 MEMORY 收到错误 1“不允许操作””

Posted

技术标签:

【中文标题】解决“错误代码:1030。从存储引擎 MEMORY 收到错误 1“不允许操作””【英文标题】:Resolve 'Error Code: 1030. Got error 1 "Operation not permitted" from storage engine MEMORY' 【发布时间】:2020-07-22 23:21:13 【问题描述】:

我正在尝试向表中插入数据,但收到以下错误消息:

错误代码:1030。从存储中收到错误 1“不允许操作” 引擎内存

我检查并确认我所有的表都在使用 InnoDB 引擎。

我还尝试了这个流行的解决方案,它似乎解决了大多数人的问题,但出现了类似但不相同的错误:

InnoDB;复制:尝试重置复制从属,同时 innodb_force_recovery 大于 0 会返回一个神秘的错误 消息:错误(1030)HY000:从存储引擎得到错误-1。这 错误信息已更改为:ERROR HY000: Operation not allowed 当 innodb_force_recovery > 0 时。复制选项,例如 relay_log_info_repository=TABLE 和 master_info_repository=TABLE 存储 InnoDB 表中的信息。当 innodb_force_recovery 更大时 大于 0,无法更新复制表,这可能会导致 复制管理命令失败。 (错误 #17287443,错误 #69907)

来自this source

我还确认磁盘未满。表和数据的结构还可以,因为我是从在 XAMPP (Windows) 上运行的功能设置中导出的,现在我正在将其导入到 macOS 上的 XAMPP 设置中。

错误的原因可能是什么?有没有人遇到过,你是怎么解决的?

【问题讨论】:

【参考方案1】:

问题是我的数据库包含触发器,我将导出分成两部分;结构和数据分开。该结构将成功导入,但在尝试导入数据时,触发器将执行并与传入的插入命令发生冲突。

我首先手动创建表,没有任何其他架构对象 (DDL),导入数据,然后运行脚本导入结构的其余部分。

这里学到的一个教训是使用 mysql Workbench 等稳定平台简单地导出整个数据库,与 phpMyAdmin 等在线工具不同,该平台可以运行只要完成导出(在大型数据库的情况下)。

【讨论】:

以上是关于解决“错误代码:1030。从存储引擎 MEMORY 收到错误 1“不允许操作””的主要内容,如果未能解决你的问题,请参考以下文章

云原生景观:可观察性和分析解决了什么问题?如何解决的?

vs2008解决方案资源管理器不显示解决方案

什么是 沙盒解决方案

解决PowerShell乱码问题

如何解决解决方案中现有项目的c#CS0006错误

关于问题解决与事件解决的思考