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

Créez des sauvegardes physiques de vos bases de données MariaDB ou MySQL

Alors que le mysqldump L'outil est la méthode de sauvegarde préférée pour une base de données ou un système de base de données MariaDB ou MySQL. Il ne fonctionne que lorsque le serveur de base de données est accessible et en cours d'exécution. Si la base de données ne peut pas être démarrée ou si le système hôte est inaccessible, la base de données peut toujours être copiée directement.

Une sauvegarde physique est souvent nécessaire dans les situations où vous n'avez accès qu'à un environnement de récupération (tel que Finnix) où vous montez les disques de votre système en tant que périphériques de stockage externes. Si vous souhaitez en savoir plus sur les sauvegardes logiques en utilisant mysqldump , consultez notre guide sur le sujet.

Pour simplifier, le nom MySQL sera utilisé tout au long de ce guide, mais les instructions fonctionneront à la fois pour MySQL et MariaDB.

Remarque Les étapes de ce guide nécessitent des privilèges root. Connectez-vous en tant qu'utilisateur root avec su - avant de commencer.

Créer une sauvegarde

  1. Si vous n'exécutez pas en mode de récupération (une session Finnix), arrêtez le mysql service :

    systemctl stop mysql
    
  2. Localisez votre répertoire de base de données. Ce devrait être /var/lib/mysql/ sur la plupart des systèmes mais si ce répertoire n'existe pas, examinez /etc/mysql/my.cnf pour un chemin vers le répertoire de données.

  3. Créez un répertoire pour stocker vos sauvegardes. Ce guide utilisera /opt/db-backups mais vous pouvez le modifier selon vos besoins :

    mkdir /opt/db-backups
    
  4. Copiez le répertoire de données de MySQL dans un emplacement de stockage. Le cp commande, rsync , ou d'autres méthodes fonctionneront bien, mais nous utiliserons tar pour copier et compresser récursivement la sauvegarde en une seule fois. Modifiez le répertoire de la base de données, le nom du fichier de sauvegarde et le répertoire cible selon vos besoins ; le -$(date +%F) l'ajout à la commande insérera un horodatage dans le nom de fichier.

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. Redémarrez le service MySQL :

    systemctl restart mysql
    

Restaurer une sauvegarde

  1. Changez votre répertoire de travail à un endroit où vous pouvez extraire l'archive créée ci-dessus. Le répertoire personnel de l'utilisateur actuel est utilisé dans cet exemple :

    cd
    
  2. Arrêtez le mysql service :

    systemctl stop mysql
    
  3. Extrayez l'archive tar dans le répertoire de travail. Remplacez le nom de fichier de l'archive tar dans la commande par celui avec la date à laquelle vous souhaitez restaurer.

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. Déplacer le contenu actuel de /var/lib/mysql vers un autre emplacement si vous souhaitez les conserver pour une raison quelconque, ou les supprimer entièrement. Créez un nouveau mysql vide dossier dans lequel restaurer votre DMBS sauvegardé.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Copiez le système de base de données sauvegardé dans le dossier vide :

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Définissez les autorisations appropriées pour les fichiers que vous venez de restaurer :

    chown -R mysql:mysql /var/lib/mysql
    
  7. Redémarrez le service MySQL :

    systemctl restart mysql
    

Plus d'informations

Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.

  • Présentation de la sauvegarde et de la restauration ; Bibliothèque MariaDB
  • Méthodes de sauvegarde de la base de données ; Manuel de référence MySQL