Question

Oui, je vais courir strace sur les deux ... Mais je voudrais savoir ...

  • Qu'est-ce que XtraBackup fait au-delà de rsync -ac src dest?
  • Ce qui est si spécial XtraBbackup?
  • Comment XtraBackup en interaction avec mysqld?
Était-ce utile?

La solution

rsync est juste une force brute copie octet par octet de données d'un endroit à un autre. Vous auriez effectuer plusieurs rsyncs jusqu'au dernier rsync, ce qui est très rapide. Ensuite, vous feriez un arrêt complet de MySQL et d'effectuer une plus rsync.

XtraBackup est un outil complet qui se comporte comme rsync, mais a dirigé but dans la vie. Il peut commencer la copie de toutes les données InnoDB et tablespaces. Il a la capacité de créer des postes de contrôle interne et d'effectuer en place une reprise de l'accident InnoDB pour aider à obtenir un point dans le temps de sauvegarde parfait. XtraBackup dispose également d'une fonctionnalité supplémentaire qui permet la création de sauvegardes incrémentielles. Une autre caractéristique supplémentaire est la création de fichiers journaux InnoDB, également construit par un en place une reprise sur incident. Il y a aussi un logiciel d'emballage pour fournir la copie congelée des tables MyISAM ainsi.

Les deux méthodes sont grandes. XtraBackup implémente simplement fonctionnalités transactionnelles InnoDB dans la plupart des copie initiale. Xtrabackup crée des fichiers qui peuvent tombé dans une infrastructure MySQL établie. Juste de dire, XtraBackup fournit une sauvegarde instrumentational et matérialisée, les fichiers InnoDB très utilisables.

En utilisant les forces rsync vous pour gérer le processus de copie plusieurs fois et couronner le tout avec un arrêt de MySQL pour exiger une intervention de rsync.

L'utilisation d'un sur l'autre peut être une préférence personnelle. Une chose doit être reconnu: XtraBackup fait des sauvegardes qui sont un peu plus que les données qui ont été copiées. Je laisse le choix de la méthode au lecteur de cette question.

Je préfère rsync parce qu'il a la simplicité d'utilisation, je peux déterminer le point précis dans le temps avant que le processus commence, j'ai aussi un contrôle total à verrouillage mysqld ou l'arrêter, lorsque ce contrôle peut être effectué, et quel que soit ordre que je désigne.

Les deux styles de sauvegardes ont une chose en commun : Avec XtraBackup, le point en temps réel est une cible en mouvement jusqu'à ce que le processus de sauvegarde est terminée et que vous devez faire confiance XtraBackup (hey 200.000 téléchargements ainsi loin. Facebook est l'un des plus grands utilisateurs de celui-ci. il a gagné beaucoup de confiance). Autrement dit, si je commence XtraBackup à minuit et la sauvegarde dure jusqu'à 02h20, puis point en temps réel de la sauvegarde est 02h20. En utilisant rsync a le même problème cible mobile parce que vous avez à faire plusieurs rsyncs manuellement puis déterminer le moment d'émettre un avant 'arrêt de service mysql au rsync final.

Ces procédés diffèrent en ce qu ' mysqld doit être arrêté en utilisant la méthode rsync, alors que XtraBackup agit indépendamment de mysqld. En fait, XtraBackup ne pas interagi avec mysqld très bien du tout, sauf quand elles traitent avec des tables MyISAM via le logiciel d'emballage. XtraBackup essaie de construire des données InnoDB entièrement fonctionnelle et les fichiers journaux en utilisant des opérations de moteur de stockage InnoDB séparés et distincts de mysqld.

Arrêt de MySQL est très nécessaire pour la méthode rsync pour une très grande raison: Le InnoDB pool de mémoire tampon peut contenir des « pages sales », qui sont des données et des pages d'index (1 page = 16Ko) qui ne sont pas écrites sur le disque . En utilisant rsync ne capture pas les changements de données en attente dans la mémoire tampon InnoDB Pool. Pour accélérer l'arrêt de mysqld pour la rsync finale, s'il vous plaît exécuter cette commande:

SET GLOBAL innodb_max_dirty_pages_pct = 0;

Cette commande permet de garder le nombre de pages sales au strict minimum. Cette commande doit être exécutée environ une heure avant d'effectuer la méthode rsync de sauvegarde. Cela pourrait même aider à XtraBackup aussi bien que XtraBackup ne nécessite pas d'arrêt de MySQL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top