Backuppen van je database(s) is een erg belangrijke taak als sysadmin
zijnde. Je moet het regelmatig doen, dus het beste is om er een cronjob
van te maken om het op reguliere intervals te doen. Data is erg
belangrijk, omdat het nooit iets bevat wat makkelijk terug te krijgen
is buiten backups om. Ik zal mysqldump gebruiken om MySQL databases te
backuppen en het op te slaan in sql bestanden die je makkelijk kan
importeren.
mysqldump gebruiken om een database backup in een tekstbestand op te slaan doe je zo:
mysqldump --user=root --password="jewachtwoord" > /home/tim/db_backup.sql
Je kan zien dat de syntax erg simpel is. Je roept mysqldump aan met de
juiste credentials en het dumpt de queries. Deze query dump kan je
gemakkelijk opvangen door het direct door te porten naar een
tekstbestand, waardoor het daar nu instaat, en dat makkelijk te
importeren is.
Wil je echter alle databases in 1 keer backuppen, kan je dat zo doen:
mysqldump --user=root --password="jewachtwoord" --all-databases > /home/tim/db_backup.sql
Uiteraard kan je dit niet direct op je productiemachine importeren,
mocht de nood aanwezig zijn. De databases bestaan immers al, en dan kan
je ze niet opnieuw aanmaken. Voor 1 database is het prima om het
handmatig te verwijderen, maar als je bovenstaande gebruikt voor al je
databases wordt dat lastig.
Bij onderstaand command word een parameter toegevoegd die databases
verwijderd voor hij ze opnieuw aanmaakt en vult met de data die het
heeft:
mysqldump --user=root --password="jewachtwoord" --all-databases --add-drop-database > /home/tim/db_backup.sql
En voila, dan kan je nu je MySQL database backups automatiseren!