Mysqldump zum Datenbank/Tabellen kopieren benutzen
Mit Mysqldump kann man nicht nur Backups von Datenbanken und Tabellen erstellen. Da man die Ausgabe von mysqldump auch pipen kann, kann man es auch zum kopieren von Datenbanken oder Tabellen auf einen anderen MySQL Server benutzen. Zum Einsatz kommt dies bei mir wenn ich eine Datenbank auf einen anderen Server umziehen lassen möchte oder sie für Auswertungen auf einen lokalen Server kopieren will. Dazu muss man die Umleitung in eine Datei einfach durch eine Verbindung mit dem mysql Client ersetzen.
mysqldump --opt tmp logfile > logfile.sql
Aus dem normalen schreiben in eine Datei kann man mit einer Pipe noch das zusätzliche komprimieren angeben.
mysqldump --opt tmp logfile | gzip -c > logfile.sql.gz
Dies kann man nun wieder einfach durch einen mysql Client Aufruf austauschen.
mysqldump --opt tmp logfile | mysql -h 192.168.111.23 -P 3306 -uroot -ppasswort tmp
Nun wird die Tabelle logfile aus der Datenbank tmp auf den Server 192.168.111.23 kopiert. Das Funktioniert auch super über SSH Tunnel.
Ein Kommentar
Till
schrieb am 28.09.2010 um 13:34 Uhr
Beispiel für ein Datenbankbackup in eine SQL-Datei mit dem Nutzer root und dessen Passwort, es handelt sich im Beispiel, nicht um die Zugangsdaten der Datenbank!
mysqldump -uroot -p#PASSWORT# –databases #DATENBANKNAME# > #WUNSCHNAME#.sql
Dabei kann der dump natürlich auch per pipe gezippt werden, wie oben beschrieben.