Операция не разрешена, когда 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.
это решило проблему.