MySQL database backup vanaf de Linux Console

Door Tim Quax op 02 september 2009
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!



Reageer op dit artikel







Voer hier de code in: