Ankündigung

Einklappen
Keine Ankündigung bisher.

MYSQL Tabelle -> backup und damit andere DB updaten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MYSQL Tabelle -> backup und damit andere DB updaten

    Hey,

    ich möchte gerne eine bestimmte Tabelle einer Datenbank (DB1) sichern und mit diesem Backup dann eine andere Tabelle in Datenbank2 (DB2) updaten.

    Würde das gerne automatisiert jeden Tag (z.B.) machen. Das wäre ja kein Problem, wenn ich das ganze als PHP Datei machen könnte und auf diese dann einen Cronjob einrichte.

    Das Problem ist nur, dass ich nicht genau weiß, wie ich das Backup und Update der Tabelle machen soll. Bei DB2 handelt es sich um eine Datenbank auf einem anderen Server, sie ist aber von außen erreichbar. (Vergleichbar mit den öffentlichen Projekten wie db4free z.B.)

    Ich habe mir überlegt ich hole mir erstmal alles aus der Tabelle in ein Array. dann schliße ich die aktuelle Verbindung und öffne die zur neuen DB. Dann irgendwie dieses Array dort einspielen. Aber wie bekomm ich diesen Update Charakter hin, dass er eben nur neue Sachen einfügt?

    Habt ihr eine Ideewie ich das realisieren kann?

    Hier mal der ganz grobe Ansatz (Skizze sozusagen)
    PHP-Code:
     <?php 
    //TEIL 1 Backup der  Tabelle machen. 
    $server "bald sind";  
    $user "hier";  
    $pass "mal ";  
    $datenbank "daten"

    $conn = @mysql_connect($server$user$pass); 
    @
    mysql_select_db($datenbank$conn) or die ("keine Verbindung möglich: " .mysql_error()); 

    $query "SELECT * FROM `tabelle`"

    $result mysql_query($query) or die(mysql_error()); 

    while(
    $daten = @mysql_fetch_array($resultMYSQL_ASSOC)){ 

    $id $daten["id"]; 
    //usw... Jetzt das Problem, wie dieses Array in die neue Verbindung bringen? 



    mysql_close($conn); 
    //TEIL 2 Backup in Main DB schreiben 
    $server2 "abc";  
    $user2 "defg";  
    $pass2 "hij";  
    $datenbank2 "klmn"

    $conn2 = @mysql_connect($server2$user2$pass2); 
    @
    mysql_select_db($datenbank2$conn2) or die ("keine Verbindung möglich: " .mysql_error()); 

    $query2 "INSERT INTO ...." //nur wie?

    mysql_close($conn2); 

    ?>
    Würde mich freuen wenn mir jemand helfen könnte. Oder eine komplett andere Idee hat.
    Grüße
    Phil

  • #2
    Eventuell ist MySQL :: MySQL 5.0 Reference Manual :: 16 Replication dafür geeignet.

    Kommentar


    • #3
      Ich hatte noch nicht die Zeit mich mit deinem Link zu beschäftigen.

      hatte das jetzt mal so gemacht:
      PHP-Code:
      //TEIL 1 Backup der Users Tabelle machen.
      $server "localhost"
      $user "aaa"
      $pass "bbb"
      $datenbank "ccc";

      $conn = @mysql_connect($server$user$pass);
      @
      mysql_select_db($datenbank$conn) or die ("keine Verbindung möglich1: " .mysql_error());

      $query "SELECT `username`, `password` from `wcf2_user` ORDER BY `userid`";

      $result mysql_query($query$conn);

      while(
      $daten = @mysql_fetch_array($resultMYSQL_ASSOC)){

      $user $daten["username"];
      $password $daten["password"];

      echo
      ""$user ." -"//nur zu Testzwecken ob die Abfrage stiomm.. dürften ja keine Probs machen.
      echo""$password ." <br />";

      //TEIL 2 Backup in Main DB schreiben
      $server2 "IP-Adresse"
      $user2 "abc"
      $pass2 "def"
      $datenbank2 "abcdegasd";

      $conn2 mysql_connect($server2$user2$pass2);
      mysql_select_db($datenbank2$conn2) or die ("keine Verbindung möglich2: " .mysql_error());

      $query2 "INSERT INTO `streamcity`.`user` (`user`, `password`) VALUES('$user', '$password')";

      $result2 mysql_query($query2$conn2);

      }

      echo
      "Fertig!"
      Die Ausgabe der beiden Variablen klappt zwar, das INSERt in die andere DB aber leider nicht.

      Könnt ihr mir dabei helfen?

      Grüße und Danke schon mal,
      Phil

      edit: Ich weiß nicht wieso, aber auf einmal funktioniert es doch.

      Kommentar

      Lädt...
      X