On 18/07/2013 17:47, Florent Rivoire wrote:
Un principe pour avoir un backup cohérent : => tu mets ton /var/lib/mysql dans un partition qui est un volume LVM
Et ensuite, ton script de backup fait ceci : => tu lock chaque base (FLUSH TABLES WITH READ LOCK de mémoire, cf la doc) => tu prends un snapshot de ton volume LVM => tu unlock les bases (en tout, elles auront été lockées qq secondes maximum) => tu backup le contenu du snapshot LVM => tu supprime le snapshot => et voilà :)
NB: ca fonctionne aussi avec du ZFS au lieu du LVM.
Attention, cette méthode si elle fonctionne avec des tables MyIsam peut poser des problèmes avec InnoDB (http://dev.mysql.com/doc/refman/5.5/en/innodb-backup.html => pour un snapshot fichier, mysql dit que le serveur doit etre arrété). Percona propose XtraBackup et mysql a aussi un outil spécifique. A ce sujet, il me semble qu'il y a des différence entre 5.0, 5.1 et 5.5 concernant le lock et la consistance du log binaire d'InnoDB pour une récupération. Luc.