-
Read only sur tables
Bonjour à tous
Bon je vais essayer d'être clair (n'hésitez pas à le dire si c'est un peu confus).
Voilà je travaille sur une appli PHP utilisant deux bases MySQL.
Je bossais en local (Easy PHP ...) et donc jusque là aucun problème.
Par contre lorsque j'ai "collé" mon appli et ses bdds sur le serveur, les ennuis ont commencés.
Je m'explique :
- Une ancienne version de cette appli existait déjà sur le serveur (idem pour les bdds)
- j'ai supprimé ces dossiers et "collé" les miens aux mêmes emplacements et là l'appli fonctionne mais elle utilise les anciennes bdds qui viennent d'être supprimées (suppression trop sauvage ? persistance des données ? )
- si par contre je "colle" mes fichiers avec des noms différents pour les bdds tout marche bien (appli avec les nouvelles bdds) sauf que dès que je veus apporter une modification j'ai droit à "Table ... read only"
C'est surtout le deuxième cas qui m'embête un peu
Précision : pour la connexion via script PHP $serveur = "localhost", $user = "", $mdp = "" (ça m'a paru bizarre mais c'était comme ça dans l'ancienne version et ça fonctionnait bien)
Merci d'avoir lu tout ça
-
J'ai oublié de préciser que l'erreur "... read only" est la n°1036
-
Bonjour
Je pense que ça signifie simplement que les droits en écriture sur les fichiers de la base de données sont passés à la trappe lors de la copie sur le serveur.
-
c'est ce que j'ai pensé mais même avec les droits à 0666 j'ai toujours cette erreur.
Ce n'est pas non plus un problème de propriétaire des fichiers car c'est root et c'était déjà comme ça avant mais merci quand même
-
Mais les droits à qui ? C'est le user exécutant le serveur MySQL (en général user "mysql") qui doit les avoir...
-
pourrais tu m'expliquer vite fait quelle est la démarche à suivre pour faire ce que tu dis (ou encore me renvoyer vers un lien) stp
-
Non j'avais mal lu, en 666 ça devrait être bon.
De quelle manière as-tu changé les droits ? En ligne de commande ? Il y a les droits sur tous les fichiers de la base ?
-
j'utilise WinSCP pour "mettre" les fichiers sur le serveur et pour changer les droits j'ai fait clic droit -> propriétés -> droits 0666 (avec owner root pour le fichier) pour chaque fichier. Après est-ce la bonne méthode ?
-
ça a été fait pour tous les fichiers des bases (.frm .MYD .MYI).
-
Des fois les clients FTP (ou SFTP) déconnent au niveau des droits. Ca serait mieux de vérifier directement sur le serveur si possible.
Sinon peut-être changer les fichiers de propriétaire ?
-
je crois que j'ai moyennement accès au serveur (réseau d'entreprise un peu chiant au niveau sécurité et tout et tout) si tu pouvais me dire comment changer le propriétaire du fichier stp par ce que dans les propriétés il est grisé (et je suis pas très doué pour ça).
S'il existe un équivalent du chown par exemple (même si une méthode graphique serait "préférable") ...
-
Ben si c'est pas possible dans WinSCP je vois que la solution de se connecter au serveur et de faire un chown...
-
Ouaip merci jvais essayer ça alors. Par contre une question : en propriétaire je mets mysql et en groupe aussi ?
-
Même en changeant owner et group (chown et chgrp) à mysql et les droits à 0666 ça ne fonctionne pas je vais essayer de joindre les gars qui s'en occupaient avant et je vous dis tout ça
merci à vous
-
J'ai retrouvé de la doc disant qu'il faut bien que le propriétaire des fichiers soit mysql (pour ce qui est du groupe est-ce aussi mysql ?? ou on laisse root ??) mais il faut aussi relancer le service mySQL.
Pour ce faire j'ai fait "service mysql restart" mais du coup c'est un autre problème qui survient.
Pouvez vous me dire si la commande que j'ai tapée suffit svp.
-
c'était bien ça :
- changer groupe et propriétaire des fichiers de bdds => mysql
- redémarrer service sql => service mysql restart