[MySql] : sauvegarder les bases une à une individuellement

Sauvegarder ses bases de données est essentiel en cas de crash mais aussi pour être en mesure de fournir à tout moment un dump. N’oubliez pas que vous pouvez retrouver les autres articles databases sur cette page.

Par contre il existe de nombreuses manière de faire. Mysql fait cela très bien et très facilement. Mais parfois on a des besoins particuliers.

Par exemple, comme les restaurations portent souvent sur une seule base, on ne souhaite pas disposer d’un dump complet. D’ailleurs cela peut aussi éviter de se trimbaler des fichiers trop gros ou encore de gérer la confidentialité de données entre clients.

Comment sauvegarder les bases mysql une à une c’est à dire en ayant un fichier par base ?

C’est assez simple avec une petite boucle :

for db in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $db | gzip > "/backups/mysqldump-$(hostname)-$db-$(date +%Y-%m-%d-%H.%M.%S).gz"; done

Donc :

  • on dresse la liste des bases avec un show databases
  • on parcourt tout cela avec un for
  • pour chaque base on lance un mysqldump
  • puis on gzippe chaque fichier généré

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s