MariaDB - Méthodes de sauvegarde

Les données servent de base aux activités et aux opérations, et avec diverses menaces possibles (par exemple, les attaquants, les pannes du système, les mauvaises mises à niveau et les erreurs de maintenance), les sauvegardes restent essentielles. Ces sauvegardes prennent de nombreuses formes et de nombreuses options existent pour les créer avec un ensemble encore plus large d'options au sein de ces processus. Les éléments importants à retenir sont le type de base de données, les informations critiques et la structure impliquée. Ces informations déterminent votre meilleure option.

OPTIONS

Les principales options de sauvegarde incluent les sauvegardes logiques et les sauvegardes physiques. Les sauvegardes logiques contiennent des instructions SQL pour la restauration des données. Les sauvegardes physiques contiennent des copies des données.

  • Logical backupsoffrent la flexibilité de restaurer des données sur une autre machine avec une configuration différente contrairement aux sauvegardes physiques, qui sont souvent limitées au même type de machine et de base de données. Les sauvegardes logiques se produisent au niveau de la base de données et de la table, et physiques au niveau du répertoire et du fichier.

  • Physical backupssont plus petites que logiques et prennent moins de temps à exécuter et à restaurer. Les sauvegardes physiques incluent également les fichiers journaux et de configuration, mais pas les sauvegardes logiques.

Outils de sauvegarde

Le principal outil utilisé pour les sauvegardes MariaDB est mysqldump. Il offre des sauvegardes logiques et de la flexibilité. Cela s'avère également une excellente option pour les petites bases de données.Mysqldumpvide les données dans SQL, CSV, XML et de nombreux autres formats. Sa sortie ne conserve pas les procédures stockées, les vues et les événements sans instruction explicite.

Il existe trois options pour mysqldump sauvegardes -

  • Raw data - Vider une table en tant que fichier de données brutes via l'option --tab, qui spécifie également la destination du fichier -

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • Data/Definitions export- Cette option permet d'exporter une ou plusieurs tables vers un fichier et prend en charge la sauvegarde de toutes les bases de données existantes sur la machine hôte. Examiner un exemple d'exportation de contenu ou de définitions vers un fichier

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • Transfer - Vous pouvez également exporter des bases de données et des tables vers un autre hôte

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

Utilisation de l'instruction SELECT ... INTO OUTFILE

Une autre option pour exporter des données utilise l'instruction SELECT ... INTO OUTFILE. Cette option simple génère le tableau dans un simple fichier texte formaté -

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

Ses attributs permettent de formater le fichier selon vos spécifications préférées.

Notez les qualités suivantes de cette déclaration -

  • Le nom de fichier doit spécifier l'emplacement souhaité pour la sortie.

  • Vous avez besoin des privilèges de fichier MariaDB pour exécuter l'instruction.

  • Le nom du fichier de sortie doit être unique.

  • Vous avez besoin des informations de connexion sur l'hôte.

  • Dans un environnement UNIX, le fichier de sortie est lisible par tout le monde, mais la propriété de son serveur affecte votre capacité à le supprimer. Assurez-vous d'avoir des privilèges.

Utilisation de CONNECT dans les sauvegardes

Le gestionnaire CONNECT permet d'exporter des données. Cela s'avère utile principalement dans les situations où l'opération SELECT ... INTO OUTFILE ne prend pas en charge le format de fichier.

Examinez l'exemple suivant -

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

Autres outils

Les autres options de sauvegarde sont les suivantes -

  • XtraBackup- Cette option cible les bases de données XtraDB / InnoDB et fonctionne avec n'importe quel moteur de stockage. En savoir plus sur cet outil sur le site officiel de Percona.

  • Snapshots- Certains systèmes de fichiers autorisent les instantanés. Le processus consiste à vider les tables avec un verrou de lecture, à monter le snapshot, à déverrouiller les tables, à copier le snapshot, puis à démonter le snapshot.

  • LVM- Cette méthode populaire utilise un script Perl. Il obtient un verrou de lecture sur chaque table et vide les caches sur le disque. Ensuite, il obtient un instantané et déverrouille les tables. Consulter le fonctionnairemylvmbackup site Web pour plus d'informations.

  • TokuBackup- Cette solution fournie par Percona fournit des sauvegardes à chaud en tenant compte des problèmes et des limites des options de sauvegarde InnoDB. Il produit une copie sonore transactionnelle des fichiers pendant que les applications continuent à les manipuler. Consultez le site Web de Percona pour plus d'informations.

Considérations sur INNODB

InnoDB utilise un pool de tampons pour l'amélioration des performances. Dans une sauvegarde, configurez InnoDB pour éviter de copier une table entière dans le pool de mémoire tampon car les sauvegardes logiques effectuent généralement des analyses complètes de la table.