Erreur 1036 : la table est une solution en lecture seule
Lors de la tentative d'exécution de requêtes de mise à jour sur une table et de la rencontre du message "1036 - Table les données sont en lecture seule", il est évident que la table est dans un état restreint. Pour résoudre ce problème, suivez les étapes décrites ci-dessous :
1. Examinez la configuration MySQL :
Vérifiez le fichier de configuration MySQL (/etc/my.cnf ou /etc/mysql/my.cnf) pour le paramètre suivant :
innodb_force_recovery
Si ce paramètre est mis à 1, il force la base de données à fonctionner en mode lecture seule. Commentez ou supprimez ce paramètre pour activer les opérations d'écriture.
2. Vérifiez les attributs de la table :
Assurez-vous que les autorisations de fichier de la table sur le système de fichiers du serveur ne sont pas en lecture seule. Les attributs de la table doivent être définis sur 777 (autorisations complètes) pour l'utilisateur et le groupe propriétaire des fichiers.
3. Optimiser et réparer la table :
Essayez d'utiliser la commande OPTIMIZE TABLE pour récupérer l'espace inutilisé et améliorer les performances. De plus, exécutez la commande REPAIR TABLE pour vérifier les erreurs et réparer les incohérences.
4. Vérifiez les paramètres de récupération InnoDB :
Dans les cas où les étapes précédentes ne résolvent pas le problème, vérifiez le paramètre de récupération InnoDB dans la base de données MySQL. Exécutez la requête suivante :
SHOW INNODB STATUS\G
Recherchez la ligne qui commence par innodb_use_sys_read_only_table. Si cette valeur est définie sur 1, cela indique que la table est forcée en mode lecture seule. Réglez-le sur 0 pour désactiver cette restriction.
5. Redémarrez MySQL :
Après avoir effectué les modifications nécessaires, redémarrez le service MySQL pour que les mises à jour prennent effet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!