Mysql
 sql >> Base de données >  >> RDS >> Mysql

Meilleures pratiques de sauvegarde pour MySQL, MariaDB et Galera Cluster

Un grand merci à tous ceux qui se sont inscrits et/ou ont participé au webinaire de mardi sur les stratégies de sauvegarde et les meilleures pratiques pour les clusters MySQL, MariaDB et Galera, dirigé par Krzysztof Książek, Senior Support Engineer chez Manynines. Si vous avez manqué la session, souhaitez la revoir ou parcourir les diapositives, elles sont maintenant en ligne pour être visionnées. Consultez également la transcription de la session de questions-réponses ci-dessous.

Regarder la rediffusion du webinaire

Que vous soyez un professionnel SysAdmin, DBA ou DevOps opérant des clusters MySQL, MariaDB ou Galera en production, vous devez vous assurer que vos sauvegardes sont planifiées, exécutées et régulièrement testées. Krzysztof a partagé hier quelques-uns de ses meilleurs conseils et astuces sur la façon de procéder ; y compris une démonstration en direct avec ClusterControl. En bref, cette rediffusion du webinaire vous montre les avantages et les inconvénients des différentes options de sauvegarde et vous aide à choisir celle qui convient le mieux à votre environnement.

Bonne sauvegarde !

Questions et réponses

Q. Pouvons-nous contrôler les E/S tout en effectuant les sauvegardes avec mysqldump et mysqldumper (j'ai utilisé nice auparavant, mais cela n'a pas été utile).

A. Théoriquement, cela pourrait être possible, bien que nous n'ayons pas vraiment testé cela. Si vous voulez vraiment appliquer une limitation, vous voudrez peut-être vous pencher sur les cgroups - cela devrait vous aider à limiter l'activité d'E/S par processus.

Q. Pouvons-nous utiliser mydumper avec ClusterControl et est-ce que ClusterControl est un logiciel gratuit ?

A. Nous ne le supportons pas actuellement, mais vous pouvez toujours l'utiliser manuellement; ClusterControl ne vous empêche pas d'utiliser cet outil. Il existe une version communautaire gratuite de ClusterControl, bien que ses fonctionnalités de sauvegarde fassent partie de la version commerciale. Avec la version communautaire gratuite, vous pouvez déployer et surveiller votre base de données (clusters) ainsi que développer vos propres conseillers de base de données personnalisés. Vous disposez également d'une période d'essai d'un mois qui vous donne accès à toutes les fonctionnalités de ClusterControl. Vous pouvez trouver tous les détails des fonctionnalités ici :https://severalnines.com/pricing

Q. Xtrabackup peut-il fonctionner avec le chiffrement des données au repos ?

A. Il peut fonctionner avec des données cryptées dans MySQL ou Percona Server - c'est parce qu'ils ne cryptent que les tablespaces, que xtrabackup ne fait que copier - il n'a pas besoin d'accéder au contenu des tablespaces. MariaDB chiffre non seulement les tablespaces mais aussi, par exemple, les redo logs InnoDB, auxquels xtrabackup doit accéder. Par conséquent, xtrabackup ne peut pas fonctionner avec le chiffrement des données au repos tel qu'il est implémenté dans MariaDB. Pour cette raison, MariaDB Corporation a créé xtrabackup dans MariaDB Backup. Cet outil prend en charge le chiffrement effectué par MariaDB.

Q :Pouvez-vous utiliser mydumper pour une récupération ponctuelle ?

R. Oui, c'est possible. mydumper peut stocker des données GTID afin que vous puissiez identifier la dernière transaction appliquée et l'utiliser comme position de départ pour le traitement des journaux binaires.

Q. Est-ce un problème si nous utilisons des journaux binaires avec xtrabackup avec start-datetime et end-datetime au lieu de start-position et end-position ? Nous effectuons une sauvegarde complète le vendredi et tous les deux jours une sauvegarde incrémentielle. Lorsque nous avons besoin de récupérer, nous prenons la dernière sauvegarde complète et toutes les sauvegardes incrémentielles et les journaux binaires de ce jour à partir de 00h00 jusqu'à MAINTENANT ... pourrait-il y avoir un problème avec apply-log ?

R. En général, vous ne devez pas utiliser --start-datetime ou --end-datetime lorsque vous souhaitez répondre au journal binaire sur la base de données. Ce n'est pas assez granulaire - il a une résolution d'une seconde et il peut y avoir de nombreuses transactions qui se sont produites pendant cette seconde. Vous pouvez l'utiliser pour minimiser le délai à rechercher manuellement, mais c'est tout. Si vous souhaitez relire les journaux binaires, vous devez utiliser --start-position et --end-position. Seul cela définira précisément à partir de quel événement vous rejouerez les binlogs et sur quel événement cela se terminera.

Q. Dois-je exécuter le logiciel de vidage sur l'équilibreur de charge ou sur l'un des nœuds MySQL ?

A. Généralement, vous l'utiliserez sur les nœuds MySQL. Certains outils ne peuvent faire que cela. Par exemple, Xtrabackup - vous devez l'exécuter localement, sur l'hôte de la base de données. Vous pouvez diffuser la sortie vers un autre emplacement, mais elle doit être démarrée localement.

Q. Pouvons-nous effectuer des sauvegardes partielles avec ClusterControl ? Et si oui, comment restaurer une sauvegarde sur une instance en cours d'exécution ?

R. Oui, vous pouvez effectuer une sauvegarde partielle à l'aide de ClusterControl (vous pouvez sauvegarder un schéma séparé à l'aide de xtrabackup) mais, à partir de maintenant, vous ne pouvez pas restaurer une sauvegarde partielle sur une instance en cours d'exécution. Cela est dû au fait que le schéma que vous récupérez ne sera pas cohérent avec le reste du cluster. Pour le rendre cohérent, le cluster doit être amorcé à partir du nœud sur lequel vous restaurez une sauvegarde. Donc, techniquement, le nœud tourne tout le temps mais c'est une opération assez lourde et invasive. Cela changera dans la prochaine version de ClusterControl dans laquelle vous pourrez restaurer les sauvegardes sur un hôte séparé. À partir de cet hôte, vous pouvez ensuite vider le contenu d'un schéma restauré à l'aide de mysqldump (ou mydumper) et le restaurer sur un cluster de production.

Q. Pouvez-vous partager la commande mysqldumper ?

R. Il est plutôt difficile de répondre à cette question sans faire de copier-coller à partir de la documentation, nous pensons donc qu'il serait préférable de vous diriger vers la documentation :https://github.com/maxbube/mydumper/tree/ maître/docs

Regarder la rediffusion du webinaire

Livre blanc connexe Le guide DevOps des sauvegardes de bases de données pour MySQL et MariaDBCe livre blanc traite des deux utilitaires de sauvegarde les plus populaires disponibles pour MySQL et MariaDB, à savoir mysqldump et Percona XtraBackup.Télécharger