MySQL Backup schneller importieren
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