mysql_connect
am 26.12.2004 19:52:03 von daniela.mackowiak
Liebe Leute,
ich suche eine Möglichkeit schneller festzustellen ob die Mysql-Datenbank
verfügbar ist als mysql_connect.
Konkretes Problemstellung:
es gibt zwei DB auf unterschiedlichen Servern, eine ist Mirror und soll dann
aufgerufen werden, wenn die erste DB nicht angesprochen werden kann.
Das funktioniert zwar grundsätzlich, aber es dauert einige Minuten bis php
mal klar ist: der connect ist schiefgegangen. Und das ist um einige Minuten
zu lange. Ich lasse hosten, also hab ich für Grundkonfigurationen keine
Berechtigung.
Momentan probier ich mit fsockopen rum. Gibts einen bestimmten port der für
mysql Abfragen genutzt wird? Weiß das wer? Oder habt ihr sonst eine Idee wie
ich das lösen kann?
Grüße,
Daniela
Re: mysql_connect
am 26.12.2004 20:55:41 von Knut Ahlers
Am Sun, 26 Dec 2004 18:52:03 +0000 schrieb d. mackowiak:
> Momentan probier ich mit fsockopen rum. Gibts einen bestimmten port der für
> mysql Abfragen genutzt wird? Weiß das wer? Oder habt ihr sonst eine Idee wie
> ich das lösen kann?
Hi Daniela,
wenn ich das richtig verstehe, willst du wissen ob der Server noch "lebt".
Das kannst du wie folgt feststellen:
if (@fsockopen ($ip, 139,$errno, $errstr, 1)) $state = "On"; else $state =
"Off";
MFG
Knut
Re: mysql_connect
am 26.12.2004 23:36:18 von daniela.mackowiak
"Knut Ahlers" schrieb im Newsbeitrag
news:pan.2004.12.26.19.55.41.582457@knutshome.de...
[...]
Das kannst du wie folgt feststellen:
if (@fsockopen ($ip, 139,$errno, $errstr, 1)) $state = "On"; else $state =
"Off";
Lieber Knut,
leider liefert das auch Off wenn die DB erreichbar ist.
Fehler 111 Verbindungsaufbau abgelehnt
Bin ein bissl ratlos.
Re: mysql_connect
am 27.12.2004 10:50:27 von Knut Ahlers
Am Sun, 26 Dec 2004 22:36:18 +0000 schrieb d. mackowiak:
> leider liefert das auch Off wenn die DB erreichbar ist.
> Fehler 111 Verbindungsaufbau abgelehnt
> Bin ein bissl ratlos.
Hallo Daniela,
auf welchen Port versuchst du zu verbinden?
Ich habe die Erfahrung gemacht, dass nur der Port 139 Antwortet. Einen
direkten Befehl um herauszufinden, ob die Datenbank erreichbar ist kenne
ich nicht. Aber so hast du zumindest die gewissheit, dass der Server auf
dem die Datenbank liegt erreichbar ist.
--
MFG Knut Ahlers
webmaster@knutshome.de
www.knutshome.de - www.rw-tng.de
Ich nutze Debian-Linux! www.debian.de
Re: mysql_connect
am 27.12.2004 11:29:24 von Peter Leibling
vorausgesetzt der server ist ein ms server, ist port 139 nicht ein netbios
port??? wenn der server ein linuxserver ist, dann müßte man einen port von
einem anderen dienst testen (z.b. 23 für telnet - wenn telnet aktiv).
ist es nicht besser einfach zu pingen und den errolevel zu prüfen? aber ich
meine php kann auch selber prüfen ob eine adresse verfügbar ist.
"Knut Ahlers" schrieb im Newsbeitrag
news:pan.2004.12.27.09.50.24.811222@knutshome.de...
> Am Sun, 26 Dec 2004 22:36:18 +0000 schrieb d. mackowiak:
>
>> leider liefert das auch Off wenn die DB erreichbar ist.
>> Fehler 111 Verbindungsaufbau abgelehnt
>> Bin ein bissl ratlos.
>
> Hallo Daniela,
> auf welchen Port versuchst du zu verbinden?
> Ich habe die Erfahrung gemacht, dass nur der Port 139 Antwortet. Einen
> direkten Befehl um herauszufinden, ob die Datenbank erreichbar ist kenne
> ich nicht. Aber so hast du zumindest die gewissheit, dass der Server auf
> dem die Datenbank liegt erreichbar ist.
>
> --
> MFG Knut Ahlers
>
> webmaster@knutshome.de
> www.knutshome.de - www.rw-tng.de
> Ich nutze Debian-Linux! www.debian.de
>
Re: mysql_connect
am 27.12.2004 11:46:16 von dev-null-use-reply-adress
Knut Ahlers schrieb:
[fsockenopen zu MySQL Server]
> auf welchen Port versuchst du zu verbinden?
> Ich habe die Erfahrung gemacht, dass nur der Port 139 Antwortet.
Ich glaube Du verwechselst da etwas ganz gehörig.
Der MySQL-Server antwortet, so er überhaupt über TCP antworten möchte,
standardmäßig auf Port 3306.
TCP 139 ist für NetBIOS bzw. Windows File- und Printersharing
zuständig.
Gruß, JPM
--
Doom 3 - Die Quotennutte der Hardwareindustrie. [R.S. in d.r.s.c.m]
http://www.textkritik.de/schriftundcharakter/sundc008tofu.ht m
http://www.kasper-online.de/goldmail/
Re: mysql_connect
am 27.12.2004 12:34:50 von dev-null-use-reply-adress
d. mackowiak schrieb:
> es gibt zwei DB auf unterschiedlichen Servern, eine ist Mirror und soll dann
> aufgerufen werden, wenn die erste DB nicht angesprochen werden kann.
> Das funktioniert zwar grundsätzlich, aber es dauert einige Minuten bis php
> mal klar ist: der connect ist schiefgegangen. Und das ist um einige Minuten
> zu lange. Ich lasse hosten, also hab ich für Grundkonfigurationen keine
> Berechtigung.
Wie oft kommt es denn überhaupt vor, daß Deine primäre DB nicht
verfügbar ist? Im Ernst: Wenn das häufiger vorkommt, solltest Du
vielleicht besser den Provider wechseln.
Oder falls Deine Webanwendung höchste Verfügbarkeit benötigt,
wäre über einen Provider nachzudenken, der Dir MySQL in einem
"echten" Master/Slave Betrieb anbietet.
Was Du willst halte ich für Frickelkram. Wie stellst Du z.B.
die Synchronisation sicher.
meinjanur, JPM
--
Doom 3 - Die Quotennutte der Hardwareindustrie. [R.S. in d.r.s.c.m]
http://www.textkritik.de/schriftundcharakter/sundc008tofu.ht m
http://www.kasper-online.de/goldmail/
Re: mysql_connect
am 27.12.2004 13:37:45 von Knut Ahlers
Am Mon, 27 Dec 2004 11:29:24 +0100 schrieb Peter Leibling:
> vorausgesetzt der server ist ein ms server, ist port 139 nicht ein netbios
> port??? wenn der server ein linuxserver ist, dann müßte man einen port von
> einem anderen dienst testen (z.b. 23 für telnet - wenn telnet aktiv).
Hi Peter,
sowohl Win alsauch Linuxserver antworten bei anfragen auf Port 139.
Dadurch lässt sich feststellen ob der Server da ist. Wer natürlich eine
möglichkeit hat MySQL direkt zu prüfen, der möge es posten. Nur bisher
habe ich die erfahrung gemacht, das ein fsockopen auf andere Ports als 139
immer einen Fehlschlag zur folge hat. Ok, bei telnet sollte es gehen aber
ansonsten bekam ich immer Status "Offline"
MFG
Knut
Re: mysql_connect
am 27.12.2004 14:54:17 von daniela.mackowiak
"Jens Peter Möller" schrieb im
Newsbeitrag news:33aaa3F3trk45U1@individual.net...
Wie oft kommt es denn überhaupt vor, daß Deine primäre DB nicht verfügbar
ist? Im Ernst: Wenn das häufiger vorkommt, solltest Du vielleicht besser den
Provider wechseln.
Lieber Jens Peter,
leider zu oft. Nachdem ich aber schon einmal den Provider gewechselt habe
(weil auch dort einiges nicht gepasst hat) und inzwischen weiß, dass das 1.
keine Gewährleistung dafür ist alles passend zu haben UND 2. so ein Umzug
doch einigermaßen mühsam ist, halte ich das für die bessere Alternative.
Aber mit dem fsock-Ding komm ich auch mit dem mysql-Port auch auf keinen
grünen Zweig. Spannenderweise liefert der nämlich bei einem imaginären
IP-Wert die Connect-Ressource des http-servers. Offenbar muss ich mich da
noch ein bissl weiter vertiefen. Und bis ich aus dem Ding schlau werde
tausch ich die Reihenfolge der DB, weil mir scheint die 2. ist besser
erreichbar. Anscheinend muss ma sich die einzelnen Gustostückerln der
unterschiedlichen Provider zusammenbasteln. *grmpf*
mfg, Daniela
Re: mysql_connect
am 27.12.2004 14:55:44 von dev-null-use-reply-adress
Knut Ahlers schrieb:
> Am Mon, 27 Dec 2004 11:29:24 +0100 schrieb Peter Leibling:
>> vorausgesetzt der server ist ein ms server, ist port 139 nicht ein netbios
>> port??? wenn der server ein linuxserver ist, dann müßte man einen port von
>> einem anderen dienst testen (z.b. 23 für telnet - wenn telnet aktiv).
Letzteres dürfte^Wsollte eher selten der Fall sein.
> sowohl Win alsauch Linuxserver antworten bei anfragen auf Port 139.
Weia! Es ging hier vermutlich nicht um ein LAN. Und ein Windowsrechner
im großen bösen Internet, der 139 offen hat ... Herzlichen Glühstumpf.
Linuxrechner antworten schonmal garnicht auf 139, zumindest nicht
pauschal. Da müßte schon Samba installiert sein.
*meinjanur*
JPM, wegen OT nach Hause fuppend
--
http://www.textkritik.de/schriftundcharakter/sundc008tofu.ht m
http://www.kasper-online.de/goldmail/