mysql socket atiranyitas

2008-10-02 bef zés Medovárszky Zoltán
Sziasztok!

Adott egy apache+mysql server.
Szeretném a mysql-t átirányítani egy másik hostra a LAN-on 
terhelés-elosztás végett.
A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra, 
hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es, iptables-es 
vagy mysql-proxy (amúgy is alpha) megoldások nem jók nekem.

Meg lehet ezt oldani transzparensen, vagy csak a scriptek módosításával 
lehetséges?

Üdv,
Igor

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Gábor Lénárt
On Thu, Oct 02, 2008 at 12:01:01PM +0200, Medovárszky Zoltán wrote:
 A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra, 
 hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es, iptables-es 
 vagy mysql-proxy (amúgy is alpha) megoldások nem jók nekem.
 
 Meg lehet ezt oldani transzparensen, vagy csak a scriptek módosításával 
 lehetséges?

Mi van a scriptekben? Mert ha csak ures string, akkor a default, az meg imho
felulbirhalhato a php.ini-ben. Vagy be van drotozva a php script-ekben a
socket path-ja mindenhol?


-- 
- Gábor
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Re: mysql socket atiranyitas

2008-10-02 bef zés Gabor HALASZ
Medovárszky Zoltán wrote:
 Sziasztok!
 
 Adott egy apache+mysql server.
 Szeretném a mysql-t átirányítani egy másik hostra a LAN-on 
 terhelés-elosztás végett.
 A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra, 
 hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es, iptables-es 
 vagy mysql-proxy (amúgy is alpha) megoldások nem jók nekem.
 
 Meg lehet ezt oldani transzparensen, vagy csak a scriptek módosításával 
 lehetséges?

Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot 
kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik.

-- 
Gabor HALASZ [EMAIL PROTECTED]

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Medovárszky Zoltán
Gábor Lénárt írta:
 Mi van a scriptekben? Mert ha csak ures string, akkor a default, az meg imho
 felulbirhalhato a php.ini-ben. Vagy be van drotozva a php script-ekben a
 socket path-ja mindenhol?
Scriptekben localhost-ra kapcsolódnak, így a php.ini-ben található 
sockethez fog kapcsolódni, nincs explicit megadva sehol a socket. De 
pont ez a problémám, hogyan irányítok át egy socketet másik ip-re 
(valószínű sehogy).

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Re: mysql socket atiranyitas

2008-10-02 bef zés Medovárszky Zoltán
Gabor HALASZ írta:
 Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot 
 kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik
Így van, emiatt transzparensen ez nem lesz megoldható, ha jól sejtem.

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Zana János
Gábor Lénárt írta:
 On Thu, Oct 02, 2008 at 12:01:01PM +0200, Medovárszky Zoltán wrote:
 A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra, 
 hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es, iptables-es 
 
 Mi van a scriptekben? Mert ha csak ures string, akkor a default, az meg imho
 felulbirhalhato a php.ini-ben. Vagy be van drotozva a php script-ekben a
 socket path-ja mindenhol?
 


/etc/mysql/debian.cnf
/ugyanott/my.cnf

rendelkezik a port, - vagy - a socket használatáról (a php.ini-n kívül).

Üdv, János

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Re: mysql socket atiranyitas

2008-10-02 bef zés Pirity Tamas Gabor
Ha jól hiszem, Gabor HALASZ írta az alábbiakat:
 Medovárszky Zoltán wrote:
  Sziasztok!
  
  Adott egy apache+mysql server.
  Szeretném a mysql-t átirányítani egy másik hostra a LAN-on 
  terhelés-elosztás végett.
  A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra, 
  hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es, iptables-es 
  vagy mysql-proxy (amúgy is alpha) megoldások nem jók nekem.
  
  Meg lehet ezt oldani transzparensen, vagy csak a scriptek módosításával 
  lehetséges?
 
 Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot 
 kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik.

Én úgy tudom, hogy ponthogy azért nem lehet megcsinálni, mert _nem_
a (névfeloldás utáni) ip-cím alapján ,,jön rá'', hogy helyben van
az sql server és használja a unix socketet, mert ekkor pl.
végszükség esetén egy alkalmas ,,hosts'' fájlba beírva egy
localhost tavoli.ip.cim
sort máris (az apache/php/mysql számára) teljesen transzparensen
át lehetne irányítani a forgalmat.

A fő baj, hogy a libmysql a ,,localhost''-ot speciális névként
értelmezi, és ha ezt látja, akkor unix socketet használ, ha 
localhoston futó mysql-lel tcp/ip porton keresztül akarsz kommunikálni,
akkor ip-címet (vagy localhosttól különböző gépnevet) kell
írni.

Persze a végkövetkezésem emiatt nekem is az, hogy ha a ,,localhost''
szó szerepel a scriptekben, akkor nem nagyon tudsz mit csinálni...

-- 
PTG
Your happiness is intertwined with your outlook on life.
Debian 3.0 -- Linux 2.6.22.6
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Gabor HALASZ
Pirity Tamas Gabor wrote:
 
 Én úgy tudom, hogy ponthogy azért nem lehet megcsinálni, mert _nem_
 a (névfeloldás utáni) ip-cím alapján ,,jön rá'', hogy helyben van
 az sql server

Megstraceltem, valoban a localhost a magic word, ha a 127.0.0.1 van, 
akkor tcp lesz:

connect(5, {sa_family=AF_INET, sin_port=htons(3306), 
sin_addr=inet_addr(127.0.0.1)}, 16)  = 0


 és használja a unix socketet, mert ekkor pl.
 végszükség esetén egy alkalmas ,,hosts'' fájlba beírva egy
 localhost tavoli.ip.cim
 sort máris (az apache/php/mysql számára) teljesen transzparensen
 át lehetne irányítani a forgalmat.

A hosts file piszkalasahoz root jog kell, vagyis betortek.

-- 
Gabor HALASZ [EMAIL PROTECTED]

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Gabor HALASZ
Medovárszky Zoltán wrote:
 Gabor HALASZ írta:
 Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot 
 kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik
 Így van, emiatt transzparensen ez nem lesz megoldható, ha jól sejtem.
 
Ezt modositom, csak akkor teszi, ha a localhost szerepel.

-- 
Gabor HALASZ [EMAIL PROTECTED]

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés SZOKOVACS Robert
On Thursday 02 October 2008, Gabor HALASZ wrote:
 Medovárszky Zoltán wrote:
  Sziasztok!
 
  Adott egy apache+mysql server.
  Szeretném a mysql-t átirányítani egy másik hostra a LAN-on
  terhelés-elosztás végett.
  A problémám ott kezdődik, hogy a php scriptek nem a 3306-os portra,
  hanem többnyire a socket-ra kapcsolódnak. Így az stunnel-es,
  iptables-es vagy mysql-proxy (amúgy is alpha) megoldások nem jók nekem.
 
  Meg lehet ezt oldani transzparensen, vagy csak a scriptek módosításával
  lehetséges?

 Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot
 kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik.

Ez nem igaz. localhost eseten megy socketre, 127.0.0.1 eseten TCP portra.

Szo
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés BORBELY Zoltan
Sziasztok!

On Thu, Oct 02, 2008 at 01:48:36PM +0200, Medovárszky Zoltán wrote:
 Scriptekben localhost-ra kapcsolódnak, így a php.ini-ben található 
 sockethez fog kapcsolódni, nincs explicit megadva sehol a socket. De 
 pont ez a problémám, hogyan irányítok át egy socketet másik ip-re 
 (valószínű sehogy).

IMHO a script-eket egyszerubb lenne modositani, de ha mindenkeppen
ezt akarod, akkor a socat-al pillanatok alatt megcsinalhatod, hogy
relay-ezzel a unix domain socket es mondjuk egy tavolig gep tcp
portja kozott.

Udv
Bozo
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Medovárszky Zoltán
Zana János írta:
 /etc/mysql/debian.cnf
 /ugyanott/my.cnf

 rendelkezik a port, - vagy - a socket használatáról (a php.ini-n kívül).
   
Próbáltam, a localhost vs 127.0.0.1 szabály hamarabb érvényesül mint a 
configban beállítottak.

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Re: mysql socket atiranyitas

2008-10-02 bef zés Kiss Gabor

In article [EMAIL PROTECTED],
Gabor HALASZ [EMAIL PROTECTED] writes:
 Ha a libmysql a szerver ip cimebol arra jut, hogy lokalis kapcsolatot =
 
 kell csinalnia, akkor automatikusan a unix socket-re kapcsolodik.

Nem nézi az IP címet.

Ha a localhost stringet látja, akkor a unix sockethez fordul.
Ezért szoktam localhost. nevet megadni minden konfigban,
ha a 127.0.0.1 címû IP socketet akarom használni.

kissg
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: mysql socket atiranyitas

2008-10-02 bef zés Medovárszky Zoltán
BORBELY Zoltan írta:
 IMHO a script-eket egyszerubb lenne modositani, de ha mindenkeppen
 ezt akarod, akkor a socat-al pillanatok alatt megcsinalhatod, hogy
 relay-ezzel a unix domain socket es mondjuk egy tavolig gep tcp
 portja kozott.
   
Scriptek módosítása nem jöhet szóba, jogilag sem nyúlhatok bele az 
ügyfelek scriptjeibe.
socat a localhost, stunnel a 127.0.0.1 -es verzióra lett a megoldás, 
köszönöm a segítséget.

Üdv,
Igor

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux