Resolve 'Error Code: 1030. Got error 1 "Operation not permitted" from storage engine MEMORY'

2.7k views Asked by At

I am attempting to insert data onto a table and I get the following error message:

Error Code: 1030. Got error 1 "Operation not permitted" from storage engine MEMORY

I checked and confirmed that all my tables are using the InnoDB engine.

I also tried out this popular solution that seems to have fixed most people's issue with a similar but unidentical error:

InnoDB; Replication: Attempting to reset a replication slave while innodb_force_recovery is greater than 0 would return a cryptic error message: ERROR(1030) HY000: Got error -1 from storage engine. The error message has been changed to: ERROR HY000: Operation not allowed when innodb_force_recovery > 0. Replication options such as relay_log_info_repository=TABLE and master_info_repository=TABLE store information in tables in InnoDB. When innodb_force_recovery is greater than 0, replication tables cannot be updated which may cause replication administration commands to fail. (Bug #17287443, Bug #69907)

from this source

I also confirmed that the disk is not full. The structure of the table and the data is okay since I'm exporting it from a functioning setup that I was running on XAMPP (Windows) that I'm now importing onto a XAMPP setup on macOS.

What could be the cause of the error? Has anyone encountered it before and how did you resolve it?

1

There are 1 answers

0
RayMan On

The problem was that my database contains triggers and I had split the export into two parts; structure and data separately. The structure would be successfully imported but on attempting to import the data, the triggers would execute and collide with incoming insert commands.

I manually created the tables first without any other schema objects (DDL), imported the data then run the script to import the rest of the structure.

A lesson learned here is to simply export the entire database using a stable platform like MySQL Workbench which can run for as long as it needs to complete the export (in the case of large databases) unlike an online tool like PHPMyAdmin.