Forum Doku Wiki Blog

Forumsarchiv 2004, Oktober
Datenbank zwischen 2 Servern driekt kopieren

archivierte Beiträge lesen

  1. (DATENBANK) Datenbank zwischen 2 Servern driekt kopieren von Jo, 03. 10. 2004, 15:55

Datenbank zwischen 2 Servern driekt kopieren

Der folgende Beitrag wurde am 03. 10. 2004, 15:55 Uhr von Jo veröffentlicht.

Hallo Leute,
in einigen Berichten habe ich bereits gelesen, dass man zB. mit PHPMyAdmin einen MySQL Dump erstellen kann, den runterladen, und am anderen Server wieder "importieren" kann.

Soweit ist es mir klar wie das Funktioniert.

Blöderweise habe ich jetzt eine Datenbank, die 6 GBytes an Daten umfasst. Gibt es auch eine Möglichkeit einen PHPMyAdmin-Dump direkt auf einen anderen Server zu kopieren?

Mir würde schon helfen, wenn ich den Dump am eigenen Server in ein FTP-Verzeichnis kopieren könnte, weil dann könnte ich den Dump mit FXP von Server zu Server direkt kopieren. Bei letzterer Methode müsste ich allerdings dann auch wissen, wie ich den Dump dann vom Server direkt wieder direkt von diesen Server aus importieren kann ;)

Es wäre alles einfacher, wenn ich vom "Ursprungsserver" die Root-Rechte hätte, aber die hab ich nicht, so kann ich die Datenbank auch nicht direkt kopieren *snief*verzweifel*

Herzlichen Dank für Eure Tipps,
Grüße
Jo

Datenbank zwischen 2 Servern driekt kopieren

Der folgende Beitrag wurde am 03. 10. 2004, 16:07 Uhr von Tom veröffentlicht.

Hello,

wenn Du eine MySQL-Datenbank hast und es Dir möglich ist, den MySQL-Deamon herunterzufahren, oder zumindest die Datenbank zu Locken und ein Flush auszuüben, dann könntest Du die Tabellen (zumindst bei MyISAM-Format) einfach kopieren.

Alle Tabellen der Datenbank locken
Alle Buffers flushen
Tarball anlegen

Remote-Login von neuen Server auf den alten
Mittels ftp den taball rüberziehen
auspacken

Was verlorengeht, sind die Rechte auf die Tabellen, denn die stehen in ja in der MySQL-Tabelle des ersten Severs.




Harzliche Grüße aus http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

Datenbank zwischen 2 Servern driekt kopieren

Der folgende Beitrag wurde am 03. 10. 2004, 16:47 Uhr von fastix® veröffentlicht.

Moin!

Informiere Dich über den Befehl "mysqldump". Lasse mit diesem die Datentabellen in eine Datei "dumpen", zippe diese mit gzip und lade sie per ftp vom Server herunter.

Info:http://dev.mysql.com/doc/mysql/de/mysqldump.html

Wenn Du keinen Shell- Zugang hast: Führe den mysqldump - Befehl innerhalb von PHP aus:
Info: http://de3.php.net/manual/de/function.exec.php





MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.

Datenbank zwischen 2 Servern driekt kopieren

Der folgende Beitrag wurde am 03. 10. 2004, 22:34 Uhr von CirTap veröffentlicht.

Hi,

wenn du nicht auf mysqldump zugreifen kannst (darfst), hilft dir da evtl. ein eigener Server-Skript z.B. in PHP

1) leg in der Zieldatenbank alle Tabelle an, aber erstmal OHNE INDEX-FELDER!! Sonst dauert der Import u.U. zu lange und der Server geht unnötig in die Knie.
Der "Struktur-Dump" mit CREATE-Table aus phpMyAdmin liefert dir das Zeug dazu. Lösche aber unbedingt alle INDEX und PRIMARY Angaben aus dem SQL script den das Teil erstellt.

2) Ab PHP 4.2 kannst du gleichzeitig mehrere Verbindungen zu verschiedenen Servern/Datenbanken aufbauen. Dazu gibt's einen neuen "new_link" Parameter, den du auf true setzen musst. Öffne also im Script zu Anfang zwei connections auf die beiden Datenbanken.
http://php.net/manual/function.mysql-connect.php

3) in einer Schleife über die Tabellennamen führst du ein
     INSERT INTO db_ziel.tabelleXY SELECT * FROM db_quelle.tabelleXY
aus um die Daten direkt einzufügen (siehe unten)

4) wenn alles drin ist, legst du die Indizes in den Zieltabellen entsprechend neu an. Schreib dir ggf. auchd afür einen kleinen Script mit den ALTER TABLE Befehlen. Die Angaben kannst du dir aus dem "CREATE Dumps" von phpMyAdmin rauskopieren

Zu 3)
Die Tabellen kannst du zur Vermeidung von Fehlern auch dynamisch mit
   SHOW TABLES
abfragen und dann über die Ergebnisliste (Array) durchschleifen.

Wichtiger: Bei extrem großen Tabellen (groß ist relativ) kann dir ein Timeout im Skript passieren (muss nicht, kann aber).
Du sollest dann evtl. bei den INSERT...SELECTs mit LIMIT arbeiten und das Häppchenweise importieren, z.B. in 500er Blöcken
... LIMIT 0,500
... LIMIT 501,1000

Viel Erfolg,
CirTap

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4