Neo: select insert auf anderen server

Moin!!
ich habe ein kleines problem und hoffe, hier expertenhilfe zu finden.
ich habe einen mysql server auf meinem pc zuhause, da liegt eine db mit daten.
die möchte ich auf einen 1und1 webserver hochladen, damit die auch zu erreichen ist, wenn mein pc mal nicht läuft (stromkosten und so...).

ich habe sowohl zuhause als auch bei 1und1 die webseite erfolgreich erstellt.
abfragen und db und so, alles läuft. ich muss jetzt nur noch eine (elegante) möglichkeit finden, die daten hochzuladen.
leider beschränkt 1und1 den upload auf 2mb, meine db ist ca. 40mb groß.

ich habe mich schon an einem insert...select statement versucht, aber ich komme nicht dahinter, wie ich die connects zu beiden server hinbekomme.
auch googlen hat nicht wirklich weitergeholfen.

es sind aktuelle versionen von mysql und php.

bestimmt weiß jemand da draußen, was ich tun muss.

vielen dank schon mal im vorraus!

Neo

  1. Hi!

    ich habe sowohl zuhause als auch bei 1und1 die webseite erfolgreich erstellt.
    abfragen und db und so, alles läuft. ich muss jetzt nur noch eine (elegante) möglichkeit finden, die daten hochzuladen.
    leider beschränkt 1und1 den upload auf 2mb, meine db ist ca. 40mb groß.

    Hochladen des Dumps mit FTP, Einspielen über den Kommandozeilenclient von MySQL, dazu die PHPShell installieren (und gegen unbefugten Zugriff sichern!).

    ich habe mich schon an einem insert...select statement versucht, aber ich komme nicht dahinter, wie ich die connects zu beiden server hinbekomme.

    Gar nicht. Geht nicht als normalsterblicher Anwender.

    Lo!

    1. moin,

      ich habe mich schon an einem insert...select statement versucht, aber ich komme nicht dahinter, wie ich die connects zu beiden server hinbekomme.

      Gar nicht. Geht nicht als normalsterblicher Anwender.

      mich würde interessieren, warum das von mysql zu mysql nicht geht, bzw. wo du dabei die schwierigkeiten siehst. zur zeit befülle ich meine oracle datenbank unter anderem aus eine mysql datenbank heraus mit INSERT.....SELECT. der unterschid ist sicherlich, dass ich s aus orracle heraus mache, aber wo liegen dabei die grenzen/probleme bei mysql ?

      Ilja

      1. Hi!

        ich habe mich schon an einem insert...select statement versucht, aber ich komme nicht dahinter, wie ich die connects zu beiden server hinbekomme.

        Gar nicht. Geht nicht als normalsterblicher Anwender.

        mich würde interessieren, warum das von mysql zu mysql nicht geht, bzw. wo du dabei die schwierigkeiten siehst.

        Es gibt in der MySQL-API keinen Mehrfach-Connect und auch kein Connect-Statement. Es ist also nicht möglich, weitere Server zu konnektieren (von Replikation abgesehen, was aber was ganz anderes macht). Datenbankübergreifend kann man Statements formulieren, aber nicht serverübergreifend.

        zur zeit befülle ich meine oracle datenbank unter anderem aus eine mysql datenbank heraus mit INSERT.....SELECT.

        Und dazu hat Oracle einen eingebauten Client-Teil der MySQL-API?

        Lo!

        1. Hi!

          Es ist also nicht möglich, weitere Server zu konnektieren (von Replikation abgesehen, was aber was ganz anderes macht).

          Will sagen, Replikation könnte dem OP in seinem eigentlichen Anliegen helfen, aber damit kann man keine beliebigen Datenbewegungen auf, von oder zu anderen Servern auslösen.

          Lo!

          1. Hi!

            Es ist also nicht möglich, weitere Server zu konnektieren (von Replikation abgesehen, was aber was ganz anderes macht).

            Will sagen, Replikation könnte dem OP in seinem eigentlichen Anliegen helfen, aber damit kann man keine beliebigen Datenbewegungen auf, von oder zu anderen Servern auslösen.

            Lo!

            So, erstmal schönen dank, dass sich kundige menschen hier des themas annehmen. auch wenn es nicht mehr ganz das ursprüngliche thema ist. :-)

            ich möchte nochmal auf mein anliegen zurück kommen.

            die idee mit dem dump hatte ich auch schon, aber da kommt wieder die upload-grenze von 2mb ins spiel. ich müsste den dump in ca. 80 kleine stücke zerhackeln. hab ich keine lust zu. :-(

            ich dachte an ein php-skript, welches den mysql-server hier zuhause (dyndns) konnektiert, die daten ausliest, den mysql-server bei 1und1 konnektiert und  dann in die tabelle schreibt.

            aber das übersteigt meine bescheidenen kenntnisse.

            darum hoffe ich hier auf erleuchtung. ;-)

            so long, Neo

            1. Hi!

              ich dachte an ein php-skript, welches den mysql-server hier zuhause (dyndns) konnektiert, die daten ausliest, den mysql-server bei 1und1 konnektiert und  dann in die tabelle schreibt.

              Soll das eine ständig laufende Spieglung des Heimservers werden oder nur ein einmaliges Daten-Hochladen sein?

              die idee mit dem dump hatte ich auch schon, aber da kommt wieder die upload-grenze von 2mb ins spiel. ich müsste den dump in ca. 80 kleine stücke zerhackeln. hab ich keine lust zu. :-(

              Wenn es einmalig sein soll, hab ich ja schon eine Lösung aufgezeigt. Die Upload-Grenze ist eine PHP- und keine FTP-Beschränkung und schlägt im vorgeschlagenen Szenario nicht zu.

              Für eine wiederkehrende Aktion müsstest du erst einmal ein Kriterium in deinen Daten haben oder es hinzufügen, an dem du Änderungen erkennst. Oder du schreibst ein Logfile, das die Aktionen aufzeichnet und anhand dessen du die Daten auf dem anderen Server nachziehst.

              Lo!

              1. Soll das eine ständig laufende Spieglung des Heimservers werden oder nur ein einmaliges Daten-Hochladen sein?

                zunächst soll das ein einmaliger vorgang sein. aktualisierungen sind danach ja aufgrund der geringen groesse kein problem.

                Wenn es einmalig sein soll, hab ich ja schon eine Lösung aufgezeigt. Die Upload-Grenze ist eine PHP- und keine FTP-Beschränkung und schlägt im vorgeschlagenen Szenario nicht zu.

                wahrscheinlich bin ich nicht erfahren genug im umgang mit PHP und MySQl, aber ich komme nicht ganz dahinter, wie das funktionieren soll.
                den SQL-dump habe ich per FTP auf den webspace hochgeladen. soweit so gut. aber der webspace ist ja nicht teil der datenbank. die liegt bei 1und1 in einem anderen teil des serverspeichers.
                webspace: www.bla.de/verzeichnis/dump.sql
                db: db12345.1und1.de/db987654321/dbname
                wie kann ich denn was vom webspace in die db laden? per FTP komme ich da nicht ran.

                wake up, Neo

                1. Hi!

                  wie kann ich denn was vom webspace in die db laden? per FTP komme ich da nicht ran.

                  Wie ich sagte, musst du dir dazu die PHPShell (ich hatte sie nur nicht verlinkt: http://phpshell.sourceforge.net/) installieren und kannst dann mittels eines Shell-Aufrufs von mysql (MySQLs Kommandozeilenclient) den Dump importieren.

                  Lo!

        2. moin,

          Datenbankübergreifend kann man Statements formulieren, aber nicht serverübergreifend.

          interessant und danke für die info

          Und dazu hat Oracle einen eingebauten Client-Teil der MySQL-API?

          bei Oracle läuft das ganze unter dem schlagwort HS (Heterogeneous Services), wo man zum beispiel auch excel dateien, mssql, mysql, etc. als tabelle abrufen kann. letzlich steckt dahinter ein ODBC treiber, der dann auf die MySQL datenbank zugreift. auf oracle seite muss neben dem ODBC treiber ein wenig konfiguriert werden (zurzeit nur unterstützung für 32 bit für 11.1g, da muss man ein wenig aufpassen) und dann kann man daenbankseitig ein DATABASE LINK anlegen (den noch schön über ein synonym verstecken), um dann die mysql tabellen wie eine normale tabelle abzurufen. es gibt wohl noch andere möglicbhkeiten der datenintegration, ein produkt names ODI von oracle. das hätte ich gerne, ist aber leider recht teuer.....

          Ilja

        3. Hallo,

          Es gibt in der MySQL-API keinen Mehrfach-Connect und auch kein Connect-Statement. Es ist also nicht möglich, weitere Server zu konnektieren (von Replikation abgesehen, was aber was ganz anderes macht). Datenbankübergreifend kann man Statements formulieren, aber nicht serverübergreifend.

          nicht direkt, aber mit Hilfe der Federated Storage Engine ginge es schon (wenn die Voraussetzungen für deren Einsatz gegeben sind).

          Freundliche Grüße

          Vinzenz

          1. Hi!

            [...] mit Hilfe der Federated Storage Engine ginge es schon (wenn die Voraussetzungen für deren Einsatz gegeben sind).

            Jetzt wo du es sagst, erinnere ich mich, dass du die irgendwann schon mal erwähnt hattest. Es wird aber keine Lösung sein (wie du ja schon einschränktest), denn damit man den Connect vom heimischen PC aus machen kann, müsste der betreffende 1und1-MySQL-Server von außen erreichbar sein. Und das ist nicht der Fall, wenn man nicht gerade einen eigenen Root-Server gemietet hat.

            Lo!