Erreur : Table 'xxx' is read only

Fermé
desapointed - 22 févr. 2005 à 12:39
 mach - 17 mars 2005 à 08:32
Bonjour !

Voila, j'ai un petit problème depuis quelques jours, j'ai cherché sur google mais impossible de trouver une solution...

Sans aucune intervention ou modification sur le script php / la requete MySQL / la config du serveur, du jour au landemain, l'une de mes pages web (une page toute bete en php qui fait un simple "UPDATE" d'une toute petite table) me retourne "table 'xxx' is read only".

Sous-entendu donc elle serait en 'lecture seule'... 1ere chose bizarre : si elle etait réellement en lecture seule, je ne pourrai pas y insérer de données... Or la page qui lance un "UPDATE" retourne cette erreur, mais la page qui lance un "INSERT INTO" fonctionne toujours... De plus si je copie colle la requete "UPDATE" dans PhpMyAdmin ça fonctionne aussi (avec le meme user/pass que celui utilisé par les scripts php).

Je me suis alors dit que c était pê un pb de permissions : j'ai donc supprimé cet utilisateur, et l'ai recréé (GRANT ALL PRIVILEGES ON *.* TO xxx@"%" IDENTIFIED BY "********") : aucun changement.

Sur google, j'est trouvé des sites qui parlaient de tables ou de bases corrompus : j'ai donc utilisé via phpmyadmin toutes les options du type "réparation" etc... J'ai aussi utilisé le lien "Recharger MySql" dans PhpMyAdmin (je sais pas ce que ça fait exactement...). Sans succès... J'ai exporté la table, je l'ai supprimé, puis ré-importé : même problème.

Voila, donc si qqun à une idée, je suis preneur !

Merci

2 réponses

Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
22 févr. 2005 à 14:47
le insert crée une nouvelle ligne alors que le update en modifie une deja existante. n'y aurai t'il pas une propriete de ta table qui dit ta le droit d'ecrire mais pas de modifier?
0
Disons que si une telle propriété existe, je ne sais pas ou elle se trouve... :/ En tout cas au niveau de l'utilisateur MySql, je l'ai totalement recréé et il a bien les droits suffisants pour l'UPDATE... Et ce qui est bizarre c est que via PhpMyAdmin, l'update fonctionne :/

Une chose : phpmyadmin est situé en local sur le serveur MySql... Ma page web, elle, est située sur un autre serveur (ceci dit la page web qui contient le 'INSERT INTO' est aussi sur un autre serveur, et les droits sur l'utilisateur MySql ne sont pas déclarés sur "localhost" mais sur "%", c'est à dire de n'importe ou.)
0
Salut,
j'avais le même pb.
Je l'ai réglé en modifiant les propriété des fichiers des tables de ma BDD. Lors d'une copie de ces fichiers, ils étaient passés en "lecture seule".
J'ai décoché cette option (clic droit sur le fichier, décocher "Lecture seule") , et tout est rentré ds l'ordre.

En espérant avoir aidé

Mach
0