Hallo zusammen,
ich möchte gerne eine komplette Tabelle von einem anderen Server auf meinen kopieren und dort einpflegen. Dazu möchte ich mich einfach auf die andere Datenbank des entfernten Servers connecten, die Daten kopieren und auf der zweiten Datenbank einpflegen. Die möglichkeit mit mysqldump auf dem anderen Server zu arbeiten besteht zwar, jedoch soll ein Script diese Arbeit von einem anderen Server, quasi als Client" erledigen.
Ist das irgendwie möglich? Finde keine passenden Lösungsansatz....
Gruß Wormi
MySQL Tabelle kopieren
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: MySQL Tabelle kopieren
Hi,
du musst dir einen Weg suchen, wie du den entfernten Server ueberredest die Beschreibung der Tabelle rauszuruecken. Dazu kannst du aus der Ferne (mittels ssh) mysqldump aufrufen und den Output direkt in den mysql-Client (mysql) pipen. Damit vermeidest du, dass die Datenbank nach aussen hin verfuegbar sein muss. Wenn die Firewall deines Datenbank-Servers soweit offen ist, dass man auf Port 3306 verbinden darf, so musst du deinem MySQL-User nur noch das Recht gewaehren sich auch aus der Ferne einloggen zu duerfen. Dann wuerdest du diesmal "mysqldump" lokal starten und als Parameter den entfernten Host mitgeben. Den Output pipest du dann wieder lokal in deinen MySQL-Server.
Die große und professionelle Loesung nennt sich MySQL-Replikation.
Gruss syssi
du musst dir einen Weg suchen, wie du den entfernten Server ueberredest die Beschreibung der Tabelle rauszuruecken. Dazu kannst du aus der Ferne (mittels ssh) mysqldump aufrufen und den Output direkt in den mysql-Client (mysql) pipen. Damit vermeidest du, dass die Datenbank nach aussen hin verfuegbar sein muss. Wenn die Firewall deines Datenbank-Servers soweit offen ist, dass man auf Port 3306 verbinden darf, so musst du deinem MySQL-User nur noch das Recht gewaehren sich auch aus der Ferne einloggen zu duerfen. Dann wuerdest du diesmal "mysqldump" lokal starten und als Parameter den entfernten Host mitgeben. Den Output pipest du dann wieder lokal in deinen MySQL-Server.
Die große und professionelle Loesung nennt sich MySQL-Replikation.
Gruss syssi
Re: MySQL Tabelle kopieren
mysqldump läuft doch auch auf dem Client und kann auf den Server zugreifen.
Re: MySQL Tabelle kopieren
Vielen dank für die antworten. Mir war nicht bewusst das mysqldump auf einen entfernten Server zugreifen kann, dachte das geht nur lokal.
Werde es später dann teste! Danke schon mal!
Werde es später dann teste! Danke schon mal!
Re: MySQL Tabelle kopieren
Ein Beispiel um eine entfernte Datenbank zu sichern:
mysqldump -h192.168.1.40 -uroot -pxxx -B myoggradio
Du mußt aber serverseitig deine my.cnf anpassen, das Verbindungen von aussen zugelassen sind.
Per Default sind sie nicht erlaubt.
Außerdem muss der Port 3306 erreichbar sein.
mysqldump -h192.168.1.40 -uroot -pxxx -B myoggradio
Du mußt aber serverseitig deine my.cnf anpassen, das Verbindungen von aussen zugelassen sind.
Per Default sind sie nicht erlaubt.
Außerdem muss der Port 3306 erreichbar sein.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: MySQL Tabelle kopieren
Deshalb der SSH-Vorschlag:
Nicht verwirren lassen. Der mysqldump-Befehl wird auf dem entfernten System ausgefuehrt. Der Output wird auf dem lokalen System (per mysql) verarbeitet.
Code: Alles auswählen
ssh user@remohost mysqldump -u user -ppasswort datenbank | mysql -u user -ppasswort lokaledatenbank