mysql socket atiranyitas
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
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
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
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
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
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
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
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
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
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
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
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
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
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