开发者

MySQL Error Code: 1030Got error -1 from storage engine; I've tried to delete data from my database

I have a database including some tables, when I want to delete data from tables which includes an "Auto Increment" field, using this query:

delete开发者_如何学运维 from test.table1 ;

I got this error:

 Error Code: 1030Got error -1 from storage engine

Why this happens? What should I do?


Try to change innodb_force_recovery value (in your /etc/my.cnf).

Error -1 says NOTHING. Without your tables creation code (SHOW CREATE TABLE table_name) can not say where exactly problem is.


You also get this error, if your file system is full.


I just got this one and it was due to the fact that the new folder on the SSD drive where I wanted the new table to go was created under root and mysql runs under the mysql user. So cd to your data folder chown mysql . and it solves the problem.


Go to /etc/my.cnf or /etc/mysql/my.cnf

Comment line innodb_force_recovery=1

Save the file and restart mysql


try repair table (ISAM engine)

if its innodb engine look at this link :

http://www.mysqlperformanceblog.com/2008/07/04/recovering-innodb-table-corruption/


I also met this error while deleting 2 rows from an Innodb table, only 2 particular rows can't be deleted. I Google the error, but can't find better solutions.

So i tried this:

  1. Create a backup for my db (exporting db).

  2. Re-Installing MySQL Server

  3. Restoring my db (importing db).

  4. Then there is no -1 engine error on deletion/update.

Success...

I think the error may occur due to invalid configuration of MySQL server with respect to storage engines.

Thank You....


FIXED!! check your memory by df -h. also check inodes df -i. if its full, delete some files.


I see no answer has been selected as the right answer.

I found that in our database config we had the innodb_force_recovery configured. Once we disabled / commented it out, the queries ran as expected.


Find the value of innodb_force_recovery at /etc/mysql/my.cnf(for linux). if it is 0, remove it or comment it out.

Example

innodb_force_recovery = 0

change it to:

#innodb_force_recovery = 0

Reference:

InnoDB: innodb_force_recovery is on: we do not allow InnoDB: database modifications by the user.


For me the problem was solved by restarting my database (in my case Mariadb).

systemctl restart mariadb


Just modify to

#innodb_force_recovery = 1

It works to me.


Here's how I solved it, I just had the same error:

  1. Open Control Panel
  2. Select Unistall Programs
  3. Right click and select"Uninstall" on Microsoft Visual Basic Tools
  4. Restart your PC
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜