Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Alles, was PHP betrifft, kann hier besprochen werden.

Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Taslak » 14. October 2009 10:09

Moin alle miteinander,

derzeit habe ich das Problem, dass ich auf zwei separate MySQL-Datenbanken zugreifen muss, die leider die Grenze 4.0 zu 4.1 überschreiten.
Mein System läuft unter Windows XP-Pro auf dem ich Apache2.2.11, MySQL5.0 und PHP5.3.0 installiert habe.
Beim Zugriff auf die MySQL-DB 4.0.18 erhalte ich den folgenden Fehler:

Warning: mysql_connect() [function.mysql-connect]: Connecting to 3.22, 3.23 & 4.0 is not supported. Server is 4.0.18

Gibt es eine Möglichkeit beide DBs anzusprechen und wenn ja wie?
Mit googln bin ich diesbezüglich leider nicht weiter gekommen.

Es wäre schön, so ihr mir weiter helfen könntet.
Besten Dank,

Taslak
Taslak
 
Posts: 4
Joined: 14. October 2009 09:39
Location: Frankfurt

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Nobbie » 14. October 2009 12:20

Genau genommen willst Du ja nicht zwei verschiedene DBs ansprechen (das ist gar kein Problem), sondern zwei verschiedene Datenbankserver aus einer einzigen PHP Installation.

Womit auch schon klar ist, was Du machen mußt:

a) entweder die Datenbank aus dem alten MySQL in die neuere MySQL Instanz portieren (halte ich für das sinnvollst)
b) oder eine zweite PHP Instanz installieren, die kompatibel zur altem MySQL Datenbank ist (ggf. ein komplettes altes Xampp installieren).
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Taslak » 14. October 2009 16:04

Danke für die Antwort, doch leider hilft mir das nicht so recht weiter.
Ich muss aus einem Script auf beide Server zugreifen (Es befinden sich unterschiedliche DBs da drauf, die in meinem Skript zu einer Auswertung verknüpft werden sollen) und da ich nur Schreib-/Lese- und keine Admin-Rechte darauf habe, muss ich beide verwenden.
Besteht denn die Möglichkeit, die zweite php-Instanz aus einem laufenden Skript anzusprechen??
Taslak
 
Posts: 4
Joined: 14. October 2009 09:39
Location: Frankfurt

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Wiedmann » 14. October 2009 16:20

Mein System läuft unter Windows XP-Pro auf dem ich Apache2.2.11, MySQL5.0 und PHP5.3.0 installiert habe.

Ich seh das jetzt mal richtig, dass du keinen XAMPP benutzt?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Nobbie » 14. October 2009 21:27

Taslak wrote:Ich muss aus einem Script auf beide Server zugreifen (Es befinden sich unterschiedliche DBs da drauf, die in meinem Skript zu einer Auswertung verknüpft werden sollen) und da ich nur Schreib-/Lese- und keine Admin-Rechte darauf habe, muss ich beide verwenden.


Mit anderen Worten: es ist nicht Dein Server, es ist nicht Deine Installation, es sind nicht Deine Datenbanken und es sind nicht Deine Daten.

Dann frage den Administrator, der den Blödsinn verbrochen hat, was er sich dabei gedacht und lass ihn alleine das Problem lösen.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Taslak » 15. October 2009 11:08

Richtig. ich benutze kein XAMPP.

Da für die beiden Datenbankserver unterschiedliche Personen verantwortlich sind und darauf auch andere Applikationen zugreifen ist ein Upgrade leider nicht so Trivial. Das ist auch der Grund weshalb ich dafür eine brauchbare Lösung suche.
Taslak
 
Posts: 4
Joined: 14. October 2009 09:39
Location: Frankfurt

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Wiedmann » 15. October 2009 11:13

Richtig. ich benutze kein XAMPP.

Die Binarys (und MySQL Extensions) von php.net sind mit mysqlnd kompiliert. Diese Lib kann nur auf Server >= 4.1.3 zugreifen.

Das ist auch der Grund weshalb ich dafür eine brauchbare Lösung suche.

Du könntest dir PHP (und die Extensions) selbst kompilieren, und dann mit der libmysql. Oder du installierst ein PHP 5.2x auf dem Server (was immer die libmysql benutzt, weil es dort kein mysqlnd gibt.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Nobbie » 15. October 2009 12:37

Ein ganz anderer Lösungsansatz, der eigentlich genau für solche verteilten Datenserver gedacht ist, wäre die Verwendung der "Federated Storage Engine".

Siehe http://dev.mysql.com/tech-resources/art ... orage.html

Im Grunde gesehen definierst Du dann auf dem MySQL 5.0.5 Server eine Tabelle mit der gleichen Struktur wie sie physikalisch im anderen MySQL Server existiert, und gibst im Create Table Statement die Federated Storage Engine an und die passenden Zugangsdaten für einen Zugriff auf diesen Server (ich habe die entsprechenden Zeilen einfach aus der obigen Doku kopiert und nur die selbstsprechenden Namen "remote_db_..." eingesetzt):

Code: Select all
CREATE TABLE ...
....
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://robin:mypassword@192.168.32.69:3306/remote_db_name/remote_table_name;


Wenn Du das hinbekommst (welche Vorbereitungen und Bedingungen erfüllt sein müssen findest Du alles in der Doku, so viel ist es nicht und ist auch nicht wirklich schwieirg), dann greifst Du im PHP Script nur noch auf einen Datenbankserver zu, sogar nur auf eine einzige Datenbank (Du legst diese Tabelle natürlich in die existierende DB), was nicht nur das PHP Problem löst, sondern Dir auch noch die volle SQL Funktionalität zur Verfügung stellt (insbesondere JOINs). Denn selbst wenn Du im PHP zwei Datenbankserver ansprechen kannst, so kannst Du die Daten nur auf PHP-Ebene verknüpfen, nicht auf SQL-Ebene.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Ansprechen von MySQL Server 4.0.18 und 5.0.5 unter PHP

Postby Taslak » 15. October 2009 16:13

Danke, da werde ich mich mal dran begeben.

:D Doch jetzt verschwinde ich erst mal ne Woche im Urlaub. Ich poste dann die Lösung, sobald ich sie implementiert habe.
Taslak
 
Posts: 4
Joined: 14. October 2009 09:39
Location: Frankfurt


Return to PHP

Who is online

Users browsing this forum: No registered users and 11 guests