Operation not allowed when innodb_forced_recovery > 0 [SqlYog]

RK. picture RK. · Aug 6, 2014 · Viewed 24.1k times · Source

I have created a table using SQLyog. When i insert values into it, it pops up following error message:

Operation not allowed when innodb_forced_recovery > 0.

My table consist only four columns including one primary key. Following is my create and insert queries:

CREATE TABLE `news` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `descr` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

insert into `test`.`news` (`title`, `slug`, `descr`)
 values ('titleOne', 'slugOne', 'descOne')

Answer

Somnath Muluk picture Somnath Muluk · Jan 29, 2016

This error is comes when MySQL is in Read only mode.

Edit file /etc/my.cnf.

And comment out following line

# innodb_force_recovery = 1

Apparently this setting causes innodb to become read-only. If you don't have access to /etc/my.cnf on shared hosting, ask your host to fix it for you. When it's commented out or non-existent in /etc/my.cnf, the it reverts to a default setting of 0.