MySQL über Bash / Importieren / Exportieren / SQL Befehle (Datensicherung / Backup)

Gepostet am September 6, 2012

Oftmals ist es praktisch und auch schneller SQL Befehle über die Bash (Linux/Unix) oder die Eingabeaufforderung (XAMPP) auszuführen. Bei der Verwendung von XAMPP liegt die ausführbare „mysql.bat“ Daten im Verzeichnis „XAMPP/mysql/bin“.

Sichern einer Datenbank

Die Sicherung erfolgt nicht über den mysql-Befehl sondern über mysqldump (auch im XAMPP Ordner). Dabei wird der gesamte Inhalt einer Datenbank in eine Datei geschrieben.

1
mysqldump -u [BENUTZERNAME] -p[PASSWORT] [DATENBANKNAME] > [DATEINAME]

Spezielle Tabellen Auslesen

1
mysql [dbname] -u [username] -h [hostname] -p[password] -N -e 'show tables like "bak\_%"' | xargs mysqldump [dbname] -u [username] -h [hostname] -p[password] > [dump_file]

Speichern einzelner Tabellen

1
mysqldump -u [BENUTZERNAME] -p[PASSWORT]  --database [DATENBANKNAME] --tables [TABLE1] [TABLE2] > [DATEINAME]

Einspielen einer Datenbank

1
2
3
4
mysql -u [BENUTZERNAME] -p[PASSWORT] [DATENBANKNAME] < [DATEINAME]
mysql -u [BENUTZERNAME] -p[PASSWORT] -h [HOST] [DATENBANKNAME] < [DATEINAME]
mysql -u [BENUTZERNAME] -p[PASSWORT] -h [HOST] --default-character-set=[ZEICHENSATZ] [DATENBANKNAME] < [DATEINAME]
mysql -u db991339_23 -pPASSW -h 127.0.0.3 --default-character-set=utf8 db991339_23 < /path/to/backupname.sql

Einspielen einer Datenbank über MySQL

1
2
3
mysql -u [BENUTZERNAME] -p[PASSWORT] -h [HOST]
mysql > use [DATENBANK]
mysql > source [DATEINAME]

Ausführen von SQL-Befehlen

1
mysql -u [BENUTZERNAME] -p[PASSWORT] -D [DATENBANKNAME] --execute="SELECT COUNT(*) FROM tabelle"

Probleme mit Foreign Keys beim Datenimport

Wenn es zu Importfehlern durch „Foreign Keys“ kommt ist zu empfehlen in die erste Zeile des Dumps folgende Zeile zu setzen:

1
SET foreign_key_checks = 0;

Tags: , , , ,

Leave a Reply

 

Posts of Current Category



Facebook: