Операция не разрешена, когда innodb_forced_recovery > 0 [SqlYog]

Я создал таблицу с помощью SQLyog. Когда я вставляю в него значения, появляется следующее сообщение об ошибке:

Operation not allowed when innodb_forced_recovery > 0.

Моя таблица состоит только из четырех столбцов, включая один первичный ключ. Ниже приведены мои запросы на создание и вставку:

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')

2 ответа

Эта ошибка возникает, когда MySQL находится в режиме только для чтения.

Редактировать файл /etc/my.cnf,

И закомментируйте следующую строку

# innodb_force_recovery = 1

По-видимому, этот параметр делает innodb доступным только для чтения. Если у вас нет доступа к /etc/my.cnf на виртуальном хостинге, попросите вашего хоста исправить это за вас. Когда он закомментирован или отсутствует в /etc/my.cnf, он возвращается к default setting of 0,

Это происходит и со мной, но я изменил SQL Engine во время создания таблицы с InnoDB на MyISAM, как в ENGINE=innoDB на ENGINE=MyISAM.

Поэтому, если у вас есть база данных и вы хотите загрузить ее, откройте ее в любом редакторе и измените механизм в конце каждой таблицы с innoDB на MyISAM.

это решило проблему.

Другие вопросы по тегам