Skip to content

Mettre en place un dump MySQL sur un pod "db"

Vous pouvez programmer des sauvegardes de votre base de données MySQL instanciée par un pod "db". Dans chaque projet PLMShift, vous pouvez ajouter le template "Dump MySQL Database" à votre application (voir documentation). Ce template ajoutera un cronjob à votre projet qui executera le dump à intervalle regulier.

Le fichier dump MySQL sera créé dans le volume persistent déclaré dans le "storage" de votre projet. A chaque exécution, le fichier sera écrasé par le nouveau dump.

Afin de garder un historique des dumps de vos bases de données, vous pouvez utiliser BorgBackup.

Installation

Valeurs à renseigner :

  • APPLICATION_NAME : indiquez un nom d'application unique (vous pouvez laisser la valeur par défaut si vous n'avez pas déjà déployé ce template dans votre projet)
  • VOLUME_CLAIM : le nom du volume où le fichier sera créé (voir dans menu storage)
  • MYSQL_HOST : le nom du service associé au pod MySQL (dans Applications -> Services)
  • MYSQL_DATABASE : voir dans les variables d'environnement du déploiement
  • MYSQL_USER : voir dans les variables d'environnement du déploiement
  • MYSQL_PWD : voir dans les variables d'environnement du déploiement

Verification et cycle de vie du CronJob

Vous pouvez verifier l'existance du CronJob via la CLI en executant la commande suivante sur votre projet :

oc get cronjob
NAME          SCHEDULE      SUSPEND   ACTIVE    LAST SCHEDULE   AGE
mysqldump     0 1 * * *   False     0         1m              23m

Pour le supprimer

En ligne de commande

oc delete cronjob/monCronJob

Vous devez egalement supprimer le "provisionned service" dans l'interface web (voir ci-dessous)

Sur l'interface Web

Sur l'Overview, supprimer le "Provisioned Services" correspondant à BorgBackup, en cliquant sur les 3 petits points, puis delete.

Restaurer une base données à partir d'un dump MySQL

En ligne de commande exclusivement

Si votre fichier a été sauvegardé avec le template Borg, suivre la procédure de récupération ici.

  1. Copier le fichier dump MySQL dans le pod "db" voir les commandes CLI.

  2. Se connecter au pod "db" avec oc rsh nom_du_pod

  3. Et utiliser la commande mysql avec les options précisées ci-dessous :

mysql -u $MYSQL_USER -p$M&²YSQL_PWD $MYSQL_DATABASE < mon_dump_MySQL.sql

ATTENTION : cette commande remplace le contenu de la bases données