sql dump erstellen.....

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

  • sql dump erstellen.....

    wie kann man unter php einen dump einer datenbank machen.....


    ich möchte gerne ein script schreiben das dann mithilfe eines CronJobs einen kompletten dump anlegt.....


    JOat
    the end comes faster than you think - you've already reached it!

  • #2
    kurz suchen?


    hier z.b. was interessantes
    http://www.php-resource.de/forum/sho...threadid=26617

    anzusprechen über system() oder exec()
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ich hatte gesucht...... und das thema von dir bringt mich auch nicht wirklich weiter.....
      the end comes faster than you think - you've already reached it!

      Kommentar


      • #4
        dann musst du wohl ...

        DESC tablename

        ... an deine db senden und das zurückgelieferte ergebnis auslesen und die die CREATE-anweisung entsprechend selber basteln.

        gleiches gilt auch für die daten.


        ich bin mir nicht sicher ... aber irgendwo im forum meine ich schon so ein script gesehen zu haben. weiss nur nicht mehr wo. evtl bei den code-schnipseln mal suchen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          wie läuft das dann z.b unter phpmyadmin???? (komm grad nicht an die dateien sonst würd ich selber nachschaun...)
          the end comes faster than you think - you've already reached it!

          Kommentar


          • #6
            ich wollte jetzt auch nicht schauen...

            aber ich denke, dass er es mit DESC macht.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Mhn, schau mal in den Sourcecode von PHPMyAdmin, da müsste die Lösung stehen
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                da kann ich erst morgen schaun......


                mmh.... phpBB hat doch auch die funktion..... dann muss das halt bis morgen warten.....
                the end comes faster than you think - you've already reached it!

                Kommentar


                • #9
                  tja.... ich hab versucht mir das in phpmyadmin anzuschaun.... leider werde ich da nicht sehr schlau daraus.....


                  wie ich es statisch machen muss weiß ich nur wollte ich eine funktion schreiben damit ich das dann auch für andere sachen verwenden kann....

                  nur hab ich grad irgendwie ne lange leitung.... ich hab keine ahnung wie ich das mit den feldern hinbekomm.... denn die sind ja von tabelle zu tabelle verschieden..... ich hab jetzt schon verschiedene sachen durch nur irgendwie hab ich da so meine probleme......



                  vieleicht kann mir jemand einen denkanstos geben.....


                  Joat
                  the end comes faster than you think - you've already reached it!

                  Kommentar


                  • #10
                    also bisher hab ich das soweit....
                    PHP-Code:
                    <?
                    $benutzer= "";  //MySQL USER
                    $passwort= "";  //MySQL PASS
                    $db = "";  //MySQL DATENBANK
                    $table = ""; //MySQL TABELLE

                    $link = @MYSQL_CONNECT("localhost",$benutzer,$passwort);

                    make_dump($table, $link, $db);


                    function make_dump($table, $link, $db) {
                             $felder = mysql_list_fields($db, $table,$link);
                             $menge = mysql_num_fields($felder);//Anzahl der Felder von $tabelle

                             $datengesamt = mysql_query("SELECT * FROM $table");
                             while ( $daten= mysql_fetch_array( $datengesamt ) )
                             {
                                      $string = "";
                                      for($x=0;$x<$menge;$x++){
                                              $name[] = mysql_field_name($felder,$x); //namen der felder
                                              $type = mysql_field_type($felder,$x); //gibt feldtyp zurück
                                              //auswertung der feldtypen
                                              if($type==int)
                                                    $spacer = "";
                                              if($type==blob||$type==string||$type==date)
                                                    $spacer = "'";
                                              if(empty($daten[$name[$x]]))
                                                    $daten[$name[$x]] = " ";
                                              //Zusammenstellung des Strings
                                              if($x==$menge-1)
                                              $string = $string . $spacer . $daten[$name[$x]] . $spacer . "";
                                              if($x!=$menge-1)
                                              $string = $string . $spacer . $daten[$name[$x]] . $spacer . ",";
                                      }
                                      //Testausgabe des Strings (wird später durch datei/ftp ausgabe ersetzt)
                                      
                                      $string = " INSERT INTO " . $table . " VALUES (" . $string . ");";
                                      echo $string;
                                      echo "<br>\n";
                             }
                    }
                    ?>

                    jetzt fehlt mir nur noch eine liste mit den ganze möglichkeiten die von mysql_field_type zurückgegeben werden können..... hab leider nirgends eine vollständige liste gefunden .....


                    und sollte sich nochjemand den code durchschaun unm den vieleicht (wenn möglich/nötig) zu optimieren....



                    JOat
                    the end comes faster than you think - you've already reached it!

                    Kommentar


                    • #11
                      Original geschrieben von JOat
                      jetzt fehlt mir nur noch eine liste mit den ganze möglichkeiten die von mysql_field_type zurückgegeben werden können..... hab leider nirgends eine vollständige liste gefunden .....
                      auch nicht im mysql-manual? oder im phpmyadmin?
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        http://www.mysql.com/doc/de/Column_types.html
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ich hab fast überall gesucht....


                          @mrhappiness


                          das ist leider auch keine vollständige liste.... da z.b TEXT als string gewertet wird....


                          wird mir nichts anders überbleiben als selber eine tabelle zumachne die alle sachen drinhat .....


                          €dit: was sagt ihr denn soweit zu dem code???
                          the end comes faster than you think - you've already reached it!

                          Kommentar


                          • #14
                            ich werde an dem ding nicht weiter machen ... da das jetzt alles komplet anders läuft..... vieleicht brauchts ja jemand....
                            the end comes faster than you think - you've already reached it!

                            Kommentar

                            Lädt...
                            X