Bonjour,
Je cherche à faire un backup journalier de mes bases de données.
Je m'inquiète qu'il y aie des connexions à la db pendant que je fait
mon dump
avez-vous des recommandations à me donner pour faire ça "proprement" ?
merci,
Bonjour,
Je cherche à faire un backup journalier de mes bases de données.
Je m'inquiète qu'il y aie des connexions à la db pendant que je fait
mon dump
avez-vous des recommandations à me donner pour faire ça "proprement" ?
merci,
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
Je pense que le mieux serait d'utiliser les transactions :
tu ouvres une transaction, tu lockes tes tables, tu fais le dump, tu délockes, et tu valides la transaction...
: http://dev.mysql.com/doc/refman/5.1/...nsactions.html
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
Salut,
merci,
Est ce que l'option lock-tables de mysqldump fait ça ?
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
Salut,
Ce n'est pas tout à fait la même chose puisque cette option doit fonctionner pour les tables MyISAM, il n'y a aucune transaction.
D'ailleurs si tes tables utilisent InnoDB, il n'y a même pas besoin de locks. L'option --single-transaction de mysqldump fait l'affaire.
Sinon pour MyISAM, --lock-tables ou --lock-all-tables iront très bien normalement.
Si tu es sous Unix, tu peux regarder du côté de mysqlhotcopy qui réalise aussi des locks et qui fait des sauvegardes plus rapidement, que des dumps complets. D'ailleurs, même si tu es sous Windows, ça ne doit pas être trop compliqué de refaire la même chose avec un batch ou un petit prog.
Merci Biglo,
J'utilise exclusivement des tables MyISAM, donc vais utiliser --lock-all-tables
lors du dump.
Par contre, étant donné que je n'utilise pas de transactions, je pense qu'il
me faut éviter de faire le dump pendant l'utilisation de la db par un de mes
clients.
Etant donné que mes utilisateurs accèdent à la db pendant une session de
travail, je pourrai faire le dump si il n'y a plus de session en cours.
Il y a juste un risque minime, c'est que l'utilisateur se log juste après que
j'aie vérifié qu'il n'y a pas de session et juste avant que je lance le dump.
Mais là je crois que je paranoïe un peu :-)
Merci pour vos conseils.
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager