Hug,

On 16 Nov 2010, at 17:15 , Greg wrote:

> 
> petite optimisation rapide de ta boucle for, gain de temps et d'espace disque 
> :
> 
> for i in $( echo "show databases;" | mysql -uadmin -p$MOT_DE_PASSE_SQL | grep 
> -v "Database" ); do
> mysqldump $i -u $UTILISATEUR_SQL --password=$MOT_DE_PASSE_SQL | gzip | ssh 
> $utilisateur_dist...@$serveur_dest "cat >$DOSSIER_DEST/$PREFIX$i.sql.gz"
> done



Pour faire un backup a chaud d'une base utilisant innodb, il faut utiliser le 
--single-transaction. Ca fait un flush de toutes les tables puis lance le dump 
dans une transaction. Cette option, plus le --master-data, et vous avez un dump 
cohérent avec les informations du slave pour reprendre le binlog au bon endroit 
au cas où (si le dump est fait sur le master).

Generalement pour mes dumps j'utilise donc: mysqldump -qCe --single-transaction 
--master-data=1 -uroot -pxxx --databases x y z

Avec MyISAM c'est un peu plus chiant...


jym
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à