MySQL Import/Export

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

  • MySQL Import/Export

    Ich weiß zwar, dass jetzt die meißten sagen, dass man das auch mit phpmyadmin erledigen kann aber das ist leider zu kompliziert ...

    Also, ich hab einen Bekannten dem hab ich mal die Webseite gemacht. Er hat eine MySQL Datenbank mit 2500 einträgen. Die ändert er fast täglich, und zwar offline.
    Es ist eigentlich ein leichtes per phpmy einen Export, und dann wieder auf dem Webserver einen Import zu machen, aber er ist über 60 und blickt das nicht mehr so ganz.

    Ich habe schon versucht, phpmyadmin abzuspecken (alles unwichtige zu verstecken), aber es müßte doch möglich sein, diese import/export Funktion direkt einzubauen.

    Bin für jeden Tipp dankbar.
    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

  • #2
    Hmm ... zeig ihm mal MySQL-Front.
    Gibt´s zwar nur auf Englisch, dafür lässt sich eine komplette DB mit wenigen Klicks auf einen anderen Server kopieren.
    Voraussetzung:

    Die Alternative ist, den CSV-Import o.ä. aus dem MyAdmin nach zu bauen. Auf dem Webserver sollte dann safe mode ausgeschaltet (für set_time_limit) oder das time limit entsprechend hoch gewählt sein.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Das Tool sieht gut aus, aber leider habe ich keinen direkten Zugriff auf den MySQL Server.
      Ich kann nicht auf den Port connecten, er steht hinter einer Firewall und ich kann nur über den Webserver zugreifen.

      SQL Export bietet sich da eher an. Ich hab zwar eine Ahnung wie das geht, aber wie importier ich das ganze wieder?
      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

      Kommentar


      • #4
        Ich habe jetzt ein Script um die Datenbank in eine Datei zu exportieren, aber jetzt ist nur noch die Frage wie ich es wieder importieren soll ...

        PHP-Code:
        $result mysql_query("Select * from Datenbank");
        $handle fopen("export.csv","w"); 
        while (
        $row mysql_fetch_array($result)){ 
        $datensatz $row[0].";".$row[1].";".$row[2].";"....; 
        if (!
        fwrite($handle,$datensatz)){ 
        echo 
        "Upsah, Fehler"


        fclose($handle); 
        Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

        Kommentar


        • #5
          1. schliess die Datensätze noch in Anführungszeichen ein
          PHP-Code:
          $datensatz '"'.$row[0].'"'.';'.'"'.$row[1].'"'.';'.$row[2].'"'... 
          dann bau dir eine löschfunktion, die die tabelle komplett leert und den dump spielt du dann mit
          PHP-Code:
          $query="LOAD DATA LOCAL INFILE 'export.csv' INTO TABLE tabellename FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n\r' ";
          $result=mysql_query($query); 
          scheisse soll heißen terminated by '\n\r'
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Original geschrieben von Kropff
            1. schliess die Datensätze noch in Anführungszeichen ein
            dazu noch
            2. mysql_fetch_row statt mysql_fetch_array
            3. mysql_escape_string
            4. und ne Schleife mit implode kombinieren
            PHP-Code:
            while ($row mysql_fetch_row($result))
            {
              
            $daten = array();
              foreach(
            $row as $v$daten[] = "'"mysql_escape_string($v). "'";
              
            $datensatz implode(';'$daten). "\n\r";
              ...

            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Der export geht ja schon mal sehr gut. Ich laß mir jetzt sogar beim Import noch im Vorfeld einen export als Sicherung per mail schicken ... sicher ist sicher ...

              aber der Import macht noch Zicken ...

              Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in c:\programme\apache group\apache\htdocs\testcenter\admin\daten_import.php on line 7

              PHP-Code:
              $query="LOAD DATA LOCAL INFILE 'export.csv' INTO TABLE shop_inhalt FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY 'nr' ";
              $result=mysql_query($query) or die(mysql_error()); 
              Die Datenbank wurde bereits geleert ...
              Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

              Kommentar


              • #8
                PHP-Code:
                $query="LOAD DATA LOCAL INFILE 'export.csv' 
                INTO TABLE shop_inhalt FIELDS TERMINATED BY ';' 
                ENCLOSED BY '"' LINES TERMINATED BY [b]'
                nr'[/b] ";
                $result=mysql_query($query) or die(mysql_error()); 
                Fehler ist fett markiert du muss '\n' oder '\n\r' angeben.

                Kommentar


                • #9
                  Ich habe schon beide Varianten probiert, aber der Fehler ist immer noch der selbe ...

                  Oder ist da schon ein Fehler im Export?

                  Export:
                  PHP-Code:
                  $datum date("Y.m.d");
                  $result mysql_query("Select * from shop_inhalt");
                  $handle fopen("export\sicherung-$datum.csv","w"); 
                  while (
                  $row mysql_fetch_row($result)){
                  $daten = array();
                  foreach(
                  $row as $v$daten[] = "'"mysql_escape_string($v). "'";
                    
                  $datensatz implode(';'$daten). "\n\r";
                  if (!
                  fwrite($handle,$datensatz)){ 
                  echo 
                  "Upsah, Fehler"


                  fclose($handle); 
                  Import:
                  PHP-Code:
                  $query="LOAD DATA LOCAL INFILE 'export.csv' 
                  INTO TABLE shop_inhalt_2 FIELDS TERMINATED BY ';' 
                  ENCLOSED BY '"' LINES TERMINATED BY '
                  \n\r' ";
                  $result=mysql_query($query) or die(mysql_error()); 
                  Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                  Kommentar


                  • #10
                    In der export.csv ist jeder Datensatz so gespeichert:


                    '24';'10';'A-2041';'2';'-';'RC10 NTC3 Nitro';'RTR-Modell,';'Der TC3 Nitro basiert auf der erfolgreichen Elektroversion\r\ndes TC3. \r\n\r\n-Symmetrische Radträger vorne und hinteny\r\n-Stossdämpferbrücke vorne und hinten gleich\r\n-Starkes (2,6mm) Aluminiumchassis\r\n-Für Schiebe- und Hebelvergaser\r\n-Für alle gängigen Servogrössen\r\n-Neue Lenkungsbrücke \r\n-Vorbereitet für TC3 Anti-Rollbar \r\n-Backen 2 Ganggetriebe für weiches schalten\r\n-32 Pitch Ritzel: 20-27 Zähne und 32 Pitch Hauptzahnrad:\r\n48,50,52,54 Zähne sind für das Getriebe erhältlich.\r\n-Gummibefestigter Schaumstofframmschutz mit extra grossem Kydexrammer.\r\n-Grosser Schnellfülltank.\r\n-Gold und Kupferfedern im Baukasten enthalten.\r\n\r\n\r\nFertig aufgebautes Modell mit Motor und Servo, ohne RC-Anlage';'';'';'';'';'595.00';'490.00';'30.04.04';'127.0.0.1';'0'
                    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                    Kommentar

                    Lädt...
                    X