Операция не разрешена, когда 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')
Ответы
Ответ 1
Эта ошибка возникает, когда MySQL находится в режиме только для чтения.
Изменить файл /etc/my.cnf
.
И закомментируйте следующую строку
# innodb_force_recovery = 1
По-видимому, этот параметр приводит к тому, что innodb становится доступным только для чтения. Если у вас нет доступа к /etc/my.cnf на общем хостинге, попросите своего хоста исправить его для вас. Когда он комментируется или не существует в /etc/my.cnf, он возвращается к default setting of 0
.
Ответ 2
Это происходит и со мной, но я решил изменить SQL Engine во время создания таблицы из InnoDB в MyISAM
как в
ENGINE = innoDB для ENGINE = MyISAM
Итак, если у вас есть ваша база данных и вы хотите ее загрузить, откройте ее любым редактором и измените движок в конце каждой таблицы от innoDB до MyISAM.
это разрешило проблему.