Datenbank umkopieren ohne mysqldump?

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

  • Datenbank umkopieren ohne mysqldump?

    Ich muß bei einem Shared-Webhoster ein Skript einrichten, das eine Datenbank zu einer anderen kopiert. Der Benutzer ist der gleiche. mySQLdump & co stehen nicht zur Verfügung.

    Geht das über eine simple mySQL-Anweisung?

    phpMyAdmin macht das, indem es jede Tabelle auflistet, diese in der neuen Datenbank anlegt und dann ein INSERT INTO ... SELECT FROM macht.
    So werd ich es wohl auch machen, außer, jemand weiß aus dem Stegreif einen noch kürzeren Ansatz.

  • #2
    http://www.heidisql.com/
    Hoster muss die DB für einen externen Zugriff aufmachen

    cu
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Das ist leider ausgeschlossen!
      Und es geht mir um eine Skriptseitige Lösung, die automatisiert ablaufen soll (Wiederkehrende Aufgabe).

      Kommentar


      • #4
        axo

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          PMA macht sowas folgendermaßen ...

          CREATE TABLE Statement der Tabelle auslesen und in der Ziel-DB ausführen.
          INSERT INTO SELECT ausführen.

          Damit hast du eine Kopie inkl. Daten ...
          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


          • #6
            Zitat von Berni Beitrag anzeigen
            http://www.heidisql.com/
            Hoster muss die DB für einen externen Zugriff aufmachen
            Hat aber fürchterliche Probleme bei großen Dumps (ab etwa 100 MB). Da geht der Rechner schon mal tierisch in die Knie.

            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Hast du denn in er Umgebung vielleicht Berechtigungen für SELECT INTO OUTFILE/LOAD DATA INFILE?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Zitat von Kropff Beitrag anzeigen
                Hat aber fürchterliche Probleme bei großen Dumps (ab etwa 100 MB). Da geht der Rechner schon mal tierisch in die Knie.

                Peter
                Kann ich nur bestätigen. Ich verwende das Tool auch nur für kleinere CSV-imports.

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  OffTopic:
                  Alter Schwede^WFinne; Stegreif richtig geschrieben - viele Deutsche schaffen das nicht.

                  Kommentar


                  • #10
                    Zitat von wahsaga Beitrag anzeigen
                    Hast du denn in er Umgebung vielleicht Berechtigungen für SELECT INTO OUTFILE/LOAD DATA INFILE?
                    Für das Schaufeln von einer Tabelle in die andere habe ich jetzt die einfachste Lösung gefunden:

                    RENAME TABLE datenbank1.tabelle TO datenbank2.tabelle

                    funktioniert wunderbar. Aaaber jetzt die zweite Frage:

                    Kennt jemand eine zuverlässige und einfache Methode, einen mittels mysqldump erstellten MySQL-Dump über ein PHP-Skript einzuspielen?
                    Also eine Art LOAD DATA INFILE aber mit richtigen Statements statt CSV-Daten.

                    Hintergrund: Die ganze Datei auf Einmal auslesen und an mysql_query() übergeben klappt ja nicht, weil mysql_query() nur ein Statement pro Durchgang akzeptiert. Die Statements aufdröseln möche ich eigentlich nicht anfangen, weil da zu vieles schiefgehen kann und es zu einer echten Wissenschaft ausarten würde, einen sicheren parser zu bauen.

                    Vielleicht kennt jemand auch eine fertige Klasse? Wobei mir native mySQL-Möglichkeiten (wie gesagt ohne Kommandozeilenzugriff auf die binaries, PHP-mySQL-Funktionen only) deutlich lieber wären.

                    Kommentar


                    • #11
                      mysqli_multi_query()

                      Kommentar


                      • #12
                        Das schaue ich mir an. Danke!

                        Kommentar


                        • #13
                          Ich verwende 6 Zeilen PHP Script als Cronjobber, dazu meine DB Klasse, mache damit ein Backup und lasse es als Restore wieder in der anderen DB einlaufen.

                          Kommentar


                          • #14
                            Mit was für einer Klasse machst du das?
                            Kann die Klasse Datenbank-Restore aus einem Dump?

                            Kommentar


                            • #15
                              1. Meine eigene Klasse PiDatabase
                              2. Ja

                              Kommentar

                              Lädt...
                              X