MySQL Backup schneller importieren

24. August 2010 at 18:08

Problem

Falls ihr größere Backups habt, welche z.B. mit mysqldump erstellt wurden, so kann der komplette Import schon mal einige Minuten dauern.  Was die Meisten nicht wissen ist, dass der Import solcher mit mysqldump erstellten Backup Dateien viel länger dauert.

How Can I Speed Up This Process?

Bei setzen der folgenden Flags vor dem Import im Datenbank Dump, kann die Importzeit dramatisch verkürzt werden:

SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;

Wenn der auto-commit deaktiviert wurde muss am Ende ein manueller commit erfolgen:

COMMIT;

Durch deaktivieren der unique checks und foreign key kann einiges an Geschwindigkeit heraus geholt werden.

Mit dem folgenden Bash-Script könnt ihr das Szenario automatisieren:

#!/bin/bash
echo "SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;" > backup.sql
mysqldump -u myuser --password=mypassword mydatabase >> backup.sql
echo "COMMIT;" >> backup.sql
Daniel Briegert

Daniel Briegert

xing: https://www.xing.com/profile/Daniel_Briegert

More Posts - Website

Follow Me:
TwitterFacebook