PHP & MYSQL (2 Server im Wechsel ansprechen)

scanline

Erfahrenes Mitglied
Hallöchen,
happ folgendes Prob...
möchte meine 80.000-Eintrags-Datenbank auf einem anderen Server regelmäßig backupen und baue gerade ein Script dafür. Um nicht vorab die komplette DB in Arrays laden zu müssen (dauert 12 Std.), sondern jeden Eintrag step by step transferieren zu können, ist es notwendig, in einer for-Schleife erst den einen Server abzufragen, anschießend den anderen mit den Daten, falls noch nicht vorhanden, zu speisen.

Wie lautet nun der Syntax für die MYSQL-Geschichte?

$db1 = mysql_connect($server1, $user1, $pass1); und
$db2 = mysql_connect($server2, $user2, $pass2);
laufen vorab, schön und gut.

Wie spreche ich die einzelnen Server(Datenbanken) mit querys an?

$result = mysql_db_query("$server1", "bank1", "select bla usw"); und
mysql_db_query("$server2", "$bank2", "insert bla usw");

geht schonmal nicht, war auch nur ein bescheidener kleiner Versuch.

Wie löse ich das Problem?

Gruß
Micha
 
Hallo Micha,
ich habe zwar noch nie mit zwei Servern gearbeitet, aber ich denke mal, dass es so klappen müsste:
PHP:
$conn_id1 = mysql_connect($server1, $user1, $pass1);
$conn_id2 = mysql_connect($server2, $user2, $pass2);

$result = mysql_db_query($db1, "SELECT [...]", $conn_id1);
[...]
mysql_db_query($db2, "INSERT [...]", $conn_id2);
Wäre über eine Erfolgs-/Misserfolgsmeldung dankbar ;)

MfG
Reima
 
re:

Ne, klappt so net, habe aber einen anderen Lösungsweg gesehen, und zwar mit hilfe von mysql_select_db("MeineDatenbank", $conn_id);

Habs mal schnell ausprobiert, funzt aber leider auch nicht.
Ich regel das jetzt erstmal brav über connect und close (db), funzt schließlich auch, nur net im Turbomodus. Vielleicht meldet sich ja nochmal jemand mit einem brillanten oder zumindest eindeutigen Lösungsweg...

Danke & Gruß
Micha
 
Re:

Würde viel zu lange dauern (ungefähr 1 Tag) bei 80000 Einträgen, aus diesem grunde möchte ich sie nach und nach übertragen

gruß
micha
 
Zurück