Mysql Exportieren / Importieren

31.01.2010

MYSQL Datenbank exportieren / export MYSQL database

Es gibt 3 verbreitete Möglichkeiten um Datenbanken zu exportieren

Eine Datenbank / Single database

Export einer Datenbank sowie einer oder meherer Tabellen /
Export of one database and one or more tables
linux> mysqldump database [tables] > database.sql
mit Benutzer und Passwort/ using specified user and password
linux> mysqldump database -u USER -p [tables] > database.sql

Mehrere Datenbanken / Multiple databases

Export mehrere Datenbanken gleichzeitig /
Export of multiple databases at the same time
linux> mysqldump –databases DB1 [DB2 DB3…] > some_databases.sql
mit Benutzer und Passwort/ using specified user and password
linux> mysqldump –databases DB1 [DB2 DB3…] -u USER -p > some_databases.sql

Alle Datenbanken / All databases

Export aller vorhandenen Datenbanken gleichzeitig /
Export of all existing databases at the same time
linux> mysqldump –all-databases > all_databases.sql
mit Benutzer und Passwort/ using specified user and password
linux> mysqldump –all-databases -u USER -p > all_databases.sql

MYSQL Datenbank importieren / import MYSQL database

Wenn ein Dumpfile (sql-File) vorliegt ist der Datenimport denkbar einfach

2.1: Datenbank-Dump importieren / Import dump-file

Importieren eines Dump/ SQL-Files /
Import a dump- sql-file
linux> mysql -p dbname < dumpfile.sql
mit Benutzer und Passwort/ using specified user and password
linux> mysql -p dbname -u USER -p < dumpfile.sql

nach oben / up

MYSQL Backup Script für die Shell / Shell script for backup MYSQL database

Backup Script / backup script

`#!/bin/sh

Backup Script

Author: Jerome Griessmeier

Version: 0.2

This Shell Script backup your database

For automating use a cronjob`

``#

Pfade setzen/ Setting path variables

MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DIR=/pfad/zu/backup_verzeichnis
TAR=/bin/tar
RM=/bin/rm
DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASS=DB_PASS
AKT_DATUM=date +%Y%m%d%H%M ``

`#

mysql dump erzeugen / create mysql dump

$MYSQL_DUMP $DB_NAME -u $DB_USER –password=$DB_PASS >
$BACKUP_DIR/$AKT_DATUM.backup.sql`

`#

mysql dump komprimieren / Compress data

cd $BACKUP_DIR
$TAR -cvzf $AKT_DATUM.backup.sql.tgz $AKT_DATUM.backup.sql`

`#

aufraeumen / clean up

$RM $AKT_DATUM.backup.sql`

nach oben / up

Script automatisieren / Automating the script

Das Script kann durch die Verwendung eines Cron-Jobs ganz einfach automatisiert werden

linux&gt; crontab -e

Start des Scripts um 02.55 jede Nacht / Starting the script at 2.55 am every night

`55 2 * * * root /backup/backup.sh >> /dev/null 2>&1

``#

Pfade setzen/ Setting path variables

MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DIR=/pfad/zu/backup_verzeichnis
TAR=/bin/tar
RM=/bin/rm
DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASS=DB_PASS
AKT_DATUM=date +%Y%m%d%H%M ``

`#

mysql dump erzeugen / create mysql dump

$MYSQL_DUMP $DB_NAME -u $DB_USER –password=$DB_PASS >
$BACKUP_DIR/$AKT_DATUM.backup.sql`

`#

mysql dump komprimieren / Compress data

cd $BACKUP_DIR
$TAR -cvzf $AKT_DATUM.backup.sql.tgz $AKT_DATUM.backup.sql`

`#

aufraeumen / clean up

$RM $AKT_DATUM.backup.sql`

`nach oben / up