web-dev-qa-db-fra.com

Opération non autorisée lorsque innodb_forced_recovery> [SqlYog]

J'ai créé une table en utilisant SQLyog. Lorsque j'y insère des valeurs, le message d'erreur suivant s'affiche:

Operation not allowed when innodb_forced_recovery > 0.

Ma table ne contient que quatre colonnes, dont une clé primaire. Voici mes requêtes de création et d’insertion:

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')
14
RK.

Cette erreur survient lorsque MySQL est en mode lecture seule.

Editez le fichier /etc/my.cnf.

Et commentez la ligne suivante

# innodb_force_recovery = 1

Apparemment, ce paramètre fait que innodb devient en lecture seule. Si vous n'avez pas accès à /etc/my.cnf sur un hébergement partagé, demandez à votre hôte de le réparer pour vous. Lorsqu'il est mis en commentaire ou inexistant dans /etc/my.cnf, il se transforme en default setting of 0.

15
Somnath Muluk

Cela m’arrive aussi, mais j’ai modifié le moteur SQL lors de la création de la table d’InnoDB à MyISAM Comme dans ENGINE = innoDB à ENGINE = MyISAM

Donc, si vous avez votre base de données et souhaitez la télécharger, ouvrez-la avec n’importe quel éditeur et modifiez le moteur à la fin de chaque table d’innoDB à MyISAM.

cela a résolu le problème.

0
Ubaz Zaria