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 Spende honorierst:

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste - ich freue mich über deine Anmerkungen, Kritik und Fragen.

Kommentar schreiben

Deine E-Mailadresse wird nur für Benachrichtigungen und Rückfragen verwendet und wird nicht veröffentlicht.

Benachrichtigungen können jederzeit wieder abbestellt werden.

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

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