Hoe maak ik een database backup

Voordat u aanpassingen gaat maken in uw webapplicatie, is het altijd raadzaam om een database backup te maken. Mochten zaken anders lopen dan gepland, kunt u namelijk altijd terug naar de originele situatie. Een backup maken van een database is gelukkig erg simpel. Wel dient u de gebruiker, wachtwoord en database bij de hand te hebben.

Backup

Als het om een kleine database gaat kunt u ook via PHPMyAdmin een backup (dump) maken, maar hier loopt u al snel tegen limieten aan. Wij adviseren dan ook om een backup te maken via de shell (SSH):

mysqldump -u <gebruiker> -h localhost -p <database> | gzip -9 > <bestandsnaam>.sql.gz

Met bovenstaande voorbeeld wordt een backup weggeschreven naar een .sql.gz bestand. Doordat dit bestand gecomprimeerd is, zal het bestand een stuk kleiner zijn dan wanneer u een reguliere backup zou maken.

Aandachtspunten:

  • plaats backups altijd buiten de webroot van de website
  • bij een grote database kan een backup enige tijd duren.
  • zorg dat er voldoende vrij diskruimte aanwezig is om de backup te kunnen maken

Restore

Mocht het nodig zijn dat u de bovenstaande backup dient terug te zetten; er zijn verschillende manieren om deze terug te zetten. In alle gevallen dient u goed bewust te zijn van de eventuele risico’s! Wij kiezen ervoor om de bestaande database te verwijderen (met: DROP DATABASE ;) en dan de backup in zijn geheel terug te plaatsen:

zcat <bestandsnaam>.sql.gz | mysql -u <gebruiker> -h localhost -p <database>

Het importeren van een database kan erg lang duren (langer dan een backup maken!). Het kan soms lijken dat er geen vooruitgang is, maar geduld is een schone zaak in dit geval!