|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
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 ! |
|
|
00
|
|
|
#2 |
![]() ![]() |
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, 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)
|
|
|
00
|
|
|
#3 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
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 ! |
|
|
00
|
|
|
#4 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
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. |
|
|
00
|
|
|
#5 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
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 ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com