Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP MySql Tabelle kopieren von DB zu DB

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 10.12.2006, 15:28

Ich hab bei All-Inkl verschiedene Webspace Pakete, die auf verschiedenen Servern liegen.

Nun wollte ich Teile von DB1 auf einem anderen Projekt nutzen, und diese von DB1 nach DB2 kopieren.

ich wollte es mit diesem Code Schnippsel machen

Code: Alles auswählen

INSERT INTO tabelle (spalte1, spalte2) SELECT (spalte1, spalte2) FROM tabelle2;
Problem ist ja, das es 2 Verschiedene Datenbank Tabellen sind.
Über eine Schleife wollte ich es eigentlich nicht machen (über 1000 einzelne Inserts)

Geht das so einfach mit 2 DBs, oder muss ich es doch über die Schleife machen ?

thx für den Input :)

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 10.12.2006, 16:08

Du kannst die doch auch einzelne Tabellen als Backup speichern. Und dann kannst du das Backup von Tabelle 1 nach Tabelle 2 einspielen.

Da musst du nur auf den Prefix achten, wenn diese bei beiden Tabellen nicht gleich ist.

Oder verstehe ich deine Frage falsch?

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 10.12.2006, 16:10

Könnte man ;)
Man ist aber faul, und will es per Script machen, da es alle 3-4 Tage gemacht werden soll, damit die Preise auch auf der anderen Seite stimmen :)

Kralle
PostRank 10
PostRank 10
Beiträge: 2925
Registriert: 08.04.2005, 00:47
Wohnort: Deggingen

Beitrag von Kralle » 10.12.2006, 18:20

Warum greifst du von der anderen Seite dann nicht gleich direkt auf die Original-DB zu?

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 10.12.2006, 19:53

ganz einfach, weil es so über 5000 externe zugriffe täglich Server geben würde, was natürlich gleich mehrere Nachteile hat.

1. Serverbelastung
2. langsamer
3. Sollte der Server der 1. Seite down sein, dann lädt die Seite 2 ewig

wenn man die daten aus der DB holt, die auf auf dem gleichen Server ist, gehts nun mal viel schneller :)

Und wir sind doch alles optimirer :D

Anonymous

Beitrag von Anonymous » 11.12.2006, 01:07

hmm... lässt sich doch mit 2 cronjobs und etwas shellscript lösen:

1. DB:

cronjob der täglich einen mysqldump der entsprechenden tabellen erstellt und in einem homeverzeichnis ablegt.

2.DB:

cronjob, der täglich einmal per ftp den dump abholt und in die lokale db einspielt...

wäre erstmal vollautomatisch und im grunde die elleganteste Lösung, da kein externer Zugriff auf die db nötig ist....

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 11.12.2006, 09:54

Würde ich auch so wie net(t)worker machen. Sehr wichtig ist, dass beide Datenbanken absolut gleich sind. Kollationen und Indizes könnten sonst knifflig werden.

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 11.12.2006, 11:04

Beim Webxxl Tarif hat man keine Cronjobs ;)
Leider.

Das Update kann ich auch manuell per Klick alle 3-4 Tage starten.

Anonymous

Beitrag von Anonymous » 11.12.2006, 14:46

Ice Man hat geschrieben:Beim Webxxl Tarif hat man keine Cronjobs ;)
Leider.

Das Update kann ich auch manuell per Klick alle 3-4 Tage starten.
anstatt shellscripte lassen sich natürlich auch phpscripte verwenden, und man könnte jeden Datensatz auch direkt von einem server zum anderen übertragen, also 2 php scripte, das eine liest die db aus und schickt die daten zum anderen, das andere phpscript nimmt die daten entgegen und schreibt sie in eine temporäre tabelle, und wenn alle daten korrekt übertragen wurden wird die originaltabelle durch die temporäre ersetzt....

hier wäre es dann evtl. sogar geschickter bei jedem Datensatz den timestamp der letzten änderung mitzuspeichern, so müssten dann nur die geänderten Datensätze upgedatet werden... je nachdem wie die daten in die erste db kommen, könnte man diesen updateprozess automatisch nach jeder änderung durchführen lassen....

oder noch geschickter.... einfach mal beim support anfragen ob die dir diese Tabelle per mysql-replikation auf den 2. server spiegeln... :wink:

das wäre wirklich die Königslösung...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag