Austausch zwischen 2 SQL Datenbanken

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

  • Austausch zwischen 2 SQL Datenbanken

    Moin, moin,

    ich habe folgendes Problem und finde leider auch in den Suchmaschinen keinen richtigen Lösungsansatz.

    Ich nutze PHP und habe zwei SQL-Datenbanken, ich möchte nun Abfragen zwischen den Datenbanken machen, bzw. bestimmte Daten von der einen in die andere SQL-DB übertragen.

    Muss man dazu nicht auch gleichzeitig zwei Connections zu den beiden DB's aufbauen? Ist dies überhaupt so möglich, gibt es dafür evtl. eine einfache Lösung?

    Vielen Dank euch schonmal,
    Greets

    3x7

  • #2
    mysql, schätze ich? bitte immer mit angeben.

    http://www.google.de/search?q=mysql+...+two+databases führt direkt zu http://forums.invisionpower.com/lofi...p/t227854.html

    ansatz genug?

    Kommentar


    • #3
      SELECT * FROM datenbank1.tabelle1 INNER JOIN datenbank2.tabelle2 USING (user_id)


      INSERT INTO datenbank1.tabelle1 SELECT bla, blubb, hier FROM datenbank2.tabelle2 WHERE blaha LIKE "blub%";

      und so weiter und so fort~

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Danke für die Tipps und Link!

        Leider konnte ich mit den gefunden Informationen leider noch nicht das Problem lösen. Es sind zwei Datenbanken bei dem selben Provider, aber jede hat unterschiedliche Zugangsdaten. D.h. wenn es überhaupt möglich ist, dann muss man schaffen zwei parallele Conections zu den mysql-db's aufzubaun. Das ist halt die Frage ob das überhaupt geht? Ansonsten muss ich leider doch alles über eine DB laufen lassen, was ich eigentlich nicht wollte.

        Danke!

        greets 3x7

        Kommentar


        • #5
          Nein, geht nicht.
          Der MySQL-Benutzer muss Zugriff auf beide Datenbanken haben - bei Hostern haben die das aber halt nicht, aus Gründen der Sicherheit gegenüber anderen Mitnutzern des Servers.

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            So wie ghostgambler das gezeigt hat, also in einer Query, geht es nicht! Du musst dir zwei getrennte Verbindungen aufbauen und entsprechend die Queries an diese senden!
            PHP-Code:
            $conn1 mysql_connectHOST1USER1PW1 );
            $conn2 mysql_connectHOST2USER2PW2 );
            // erste Verbindung nutzen
            mysql_query"select bla from blub"$conn1 );
            // zweite Verbindung nutzen
            mysql_query"insert into foo set bla=1"$conn2 ); 

            Kommentar


            • #7
              was wollteste denn unbedingt auf zwei datenbanken aufteilen? meistens ist dies nicht erforderlich und auch nicht zweckmäßig. wie wir ja gerade sehen
              tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
              documentation: php.net mysql.com framework.zend.com

              Die Nachtwache!

              Kommentar


              • #8
                Super vielen Dank für den Tipp, werde es mal testen, ob es über den Weg möglich ist.

                Naja warum ich es über diesen Weg lösen möchte liegt daran, dass ich eine DB1 habe, die direkt für die User (Besucher) zur Verfügung steht, daher möchte ich diese mit bestimmten Aufgaben die DB2 übernehmen soll nicht belasten um die optimale Performace zu gewährleisten.

                Und dann einfach die übrigen Daten austauschen, bzw. abgleichen.

                Greetings
                3x7

                Kommentar


                • #9
                  ... daher möchte ich diese mit bestimmten Aufgaben die DB2 übernehmen soll nicht belasten um die optimale Performace zu gewährleisten.
                  und warum glaubst du, dass die leistung darunter leidet?

                  Kommentar


                  • #10
                    Naja, ich vermute, wenn große XML und CSV Datein in eine DB geparst werden, dass die db sicherlich für den Zeitraum stärker in Anspruch genommen wird als sonst. Wenn nun gleichzeitig mehrere User ebenfalls Daten aus der DB nutzen, könnte doch sicherlich die Performance darunter leiden.

                    Sollte dies nicht der Fall sein, überdenke ich gerne mein umständliches System mit zwei DB's

                    Vielen Dank,
                    Gruß

                    3x7

                    Kommentar


                    • #11
                      Original geschrieben von dreimalsieben
                      Sollte dies nicht der Fall sein, überdenke ich gerne mein umständliches System mit zwei DB's
                      Dann überdenke dein "umständliches System mit zwei DB's" und informiere dich das nächste mal per Google, bevor du komische unbegründete Anhaltspunkte für Entscheidungen, bezüglich der Grundlage deiner Applikation, annimmst.

                      Bei gleichen Tabellen sähe das ganze natürlich wiederum anders aus... aber auch da solltest du dich ins Thema Optimierung einlesen, bevor du irgendwelche unbegründeten Resultate ziehst ... denn das ist meist eher kontraproduktiv!

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar

                      Lädt...
                      X