blog.bartlweb - a technologist's external brain

MySQL-Datenbanken mittels Skript sichern

Das folgende Shell-Skript sichert eine Datenbank mit Hilfe von mysqldump als mit Datum versehene tar.gz-Datei. Somit kann mit Hilfe eines Cronjobs die Datenbank z.B. einmal täglich gesichert werden.

Shell-Skript

#!/bin/sh
 
CONF_DB_DATABASE = "mydb"
CONF_DB_USER = "user"
CONF_DB_PASSWORD = "password"
CONF_DB_HOST = "localhost"
CONF_OUTPUT_FILENAME = "mydb_`date +%m%d%Y`"
CONF_OUTPUT_DIR = "/mnt/backup/mysql/"
CONF_TMP_DIR = "/tmp/"
 
mysqldump -u $CONF_DB_USER -p$CONF_DB_PASSWORD -h $CONF_DB_HOST $CONF_DB_DATABASE > $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql
tar cfz $CONF_OUTPUT_DIR$CONF_OUTPUT_FILENAME.tar.gz -C $CONF_TMP_DIR $CONF_OUTPUT_FILENAME.sql  >> /dev/null 2>&1
rm $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql

Performance von mysqldump optimieren

Bei großen Datenbanken kann mysqldump unter Umständen sehr lange für das Backup benötigen. Über die folgenden Paramter der MySQL-Konfigurationsdatei my.cnf können Sie die Performance von mysql und mysqldump optimieren. Achtung: die hier angegebenen Werte sind Beispielwerte, Sie sollten diese entsprechend des verfügbaren Arbeitsspeichers bemessen.

[mysqldump]
max_allowed_packet = 64M
[mysqld]
key_buffer_size = 256M
max_allowed_packet = 128M
read_buffer_size = 512K
myisam_sort_buffer_size = 8M
 
 
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
# Set ..._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 64M

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "1152" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.