[Debian] Lokale MySQL connecties forwarden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • JJerome
  • Registratie: Oktober 2007
  • Laatst online: 27-07 15:33
Onlangs ben ik begonnen met de ontwikkel omgeving op de zaak om te zetten van een alles-in-1 server naar een gevirtualiseerd platform met gescheiden web/mysql/svn/file servers.

Feitelijk werkt alles, en veel fijner dan voorheen, er is alleen 1 punt waar ik niet tevreden over ben.

Al onze websites verbinden met "localhost" voor MySQL. De PHP MySQL client besluit dan direct om gebruik te maken van de socket file i.p.v. TCP. Ook lijkt er geen mogelijkheid te zijn om hier TCP te forceren en lijk ik dus genoodzaakt om via socat een unix socket het verkeer over TCP te laten sturen. Daarnaast heb ik ook voor de overige connecties over TCP een SSH tunnel opgezet. Dit lijkt mij allemaal niet optimaal en ik vroeg mij af of hier betere oplossingen voor zijn. Alle configs aanpassen is helaas geen optie.

Iemand een betere suggestie?

Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Weet niet helemaal of het een oplossing voor jou is, maar probeer eens mysql proxy te gebruiken.

Hierdoor kunnen alle clients naar localhost connecten. Mysql proxy stuurt dan alles door naar je "generieke" servers. Heb je ook meteen failover.

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
JJerome schreef op zondag 06 februari 2011 @ 22:49:
Onlangs ben ik begonnen met de ontwikkel omgeving op de zaak om te zetten van een alles-in-1 server naar een gevirtualiseerd platform met gescheiden web/mysql/svn/file servers.

Feitelijk werkt alles, en veel fijner dan voorheen, er is alleen 1 punt waar ik niet tevreden over ben.

Al onze websites verbinden met "localhost" voor MySQL. De PHP MySQL client besluit dan direct om gebruik te maken van de socket file i.p.v. TCP. Ook lijkt er geen mogelijkheid te zijn om hier TCP te forceren en lijk ik dus genoodzaakt om via socat een unix socket het verkeer over TCP te laten sturen. Daarnaast heb ik ook voor de overige connecties over TCP een SSH tunnel opgezet. Dit lijkt mij allemaal niet optimaal en ik vroeg mij af of hier betere oplossingen voor zijn. Alle configs aanpassen is helaas geen optie.
"localhost" betekent bij mysql helaas inderdaad "gebruik een socket", je kunt wel 127.0.0.1 gebruiken voor TCP naar localhost. Als "alle configs aanpassen helaas geen optie is", hoe zou je dan (indien het toch mogelijk geweest was) de tcp geforceerd hebben? :)

En, volgens mij wordt socat regelmatig gebruikt hiervoor, wat bevalt er niet aan deze oplossing?

Acties:
  • 0 Henk 'm!

  • JJerome
  • Registratie: Oktober 2007
  • Laatst online: 27-07 15:33
blaataaps schreef op maandag 07 februari 2011 @ 07:27:
[...]
"localhost" betekent bij mysql helaas inderdaad "gebruik een socket", je kunt wel 127.0.0.1 gebruiken voor TCP naar localhost. Als "alle configs aanpassen helaas geen optie is", hoe zou je dan (indien het toch mogelijk geweest was) de tcp geforceerd hebben? :)

En, volgens mij wordt socat regelmatig gebruikt hiervoor, wat bevalt er niet aan deze oplossing?
Ik had iets duidelijker moeten zijn. Met de configs bedoelde ik al onze (honderden) websites aanpassen zodat ze met een andere server (of 127.0.0.1) verbinding maken.

Feitelijk werkt socat op dit moment prima, ze schijnen er alleen wel eens willekeurig uit te klappen. Ik heb hier zelf nog geen last van gehad maar de nieuwe setup wordt nog niet actief gebruikt en ik voorkom dit liever voordat dat wel het geval is.

Als ik jou goed begrijp is de oplossing die ik gebruik geen vreemde, misschien moet ik dan ook maar niet veel verder zoeken.