Je place généralement le dossier MAMP MySQL/db/db-site-name sous SVN.
Lorsque MAMP démarre, il donne l'autorisation drw ------- (600) à tous les fichiers et répertoires de ce dossier. J'ai un problème parce que l'un de ces dossier est .svn un, qui doit être drwxr-xr-x (755), sinon je ne peux pas accéder à la copie de travail SVN avec mon client.
Quelqu'un peut-il m'aider à régler MAMP correctement?Pourquoi MAMP définit à 600 autorisations de fichier MySQL?
Répondre
Vous partagez les fichiers de données MySQL avec plusieurs utilisateurs? C'est intrinsèquement dangereux. Il n'y a aucune garantie que quelqu'un copiant les fichiers de données brutes obtiendra une copie cohérente. Prenons le cas d'un grand magasin de données qui prend beaucoup de temps pour copier réellement:
- utilisateur A commence à copier les fichiers de données MySQL
- Alors que la copie progresse, l'utilisateur B fait une action qui provoque MySQL mise à jour ce fichier (une mise à jour ou une opération d'insertion ou de suppression, disons).
- Une partie de la mise à jour des données se fait près du début du fichier, qui a déjà été COPIES
- L'autre partie de la mise à jour des données est à la fin du fichier, qui n'a pas encore été COPIES
- utilisateur B continue à travailler comme d'habitude
- utilisateur a complète la copie de fichiers, et dispose désormais d'un fichier corrompu - il a seulement la moitié des changements de l'utilisateur B dans ce
est-il une raison pour les autres développeurs ne peuvent pas accéder le serveur de base de données à distance via TCP? C'est un changement de configuration trivial à vos appels de connexion de base de données pour accéder à un serveur distant, au lieu d'un local.
Si vous devez fournir aux autres développeurs leurs propres copies des fichiers, envisagez de partager une sauvegarde des données plutôt que les fichiers de base de données eux-mêmes. mysqldump
peut trivialement produire un fichier de vidage en clair qui peut facilement être partagé avec d'autres développeurs, qu'ils peuvent ensuite importer vers leurs propres instances MySQL
Merci, je pense que vous avez raison. Je dois trouver un autre moyen de partager la base de données au sein du membre d'un projet. Probablement la seule solution est d'utiliser mysqldump. – SergioP
Mais pourquoi mettez-vous habituellement ces fichiers non pertinents sous SVN? –
J'ai mis des fichiers MySQL sous SVN pour partager la base de données avec les autres développeurs web impliqués dans le projet. Je sais ... ce n'est pas exactement la bonne façon, mais c'est simple, rapide et on n'utilise qu'un seul programme (svn). Si vous avez des suggestions pour résoudre ce problème d'une meilleure manière ... :) – SergioP