Ik heb een webserver met daarop apache + php4 + mysql-client en ik heb een database server met daarop de mysql server.
Alle scripts op de webserver moeten nu dus met de externe mysql server verbinden, maar de meeste scripts staan ingesteld op "localhost" en het is niet zomaar mogelijk om dit allemaal aan te passen.
Dus komt er een tcp port forwarder om de hoek kijken die poortje 3306 op 127.0.0.1 forward naar de externe mysql server. Connecten naar 127.0.0.1 gaat nu zonder problemen, maar omdat mysql "localhost" gebruikt om te connecten via een unix socket werkt dit niet voor alle scripts.
Nu is hiervoor het tooltje unix2tcp wat netjes unix sockets forward naar een externe server (tcp). Dit werkt opzich vrij aardig, ware het niet dat het soms de soep in loopt bij het inserten van binaire data (scripts die foto's uploaden en in mysql opslaan). Dit is dus ook geen oplossing.
Is het mogelijk om de mysql client te forceren om tcp te gebruiken i.p.v. een unix socket? Dan wordt "localhost" nl. netjes gezien als 127.0.0.1 en werkt de tcp forwarder het net af.
In /etc/my.cnf het volgende regeltje opnemen heeft helaas niet het gewenste resultaat.
Ook de
In de MySQL manual vind ik wel opties om tcp uit te schakelen (--skip-networking), maar helaas niet het omgekeerde.
Iemand een idee hoe ik alsnog de mysql client kan forceren om via tcp te connecten i.p.v. unix socket?
Alle scripts op de webserver moeten nu dus met de externe mysql server verbinden, maar de meeste scripts staan ingesteld op "localhost" en het is niet zomaar mogelijk om dit allemaal aan te passen.
Dus komt er een tcp port forwarder om de hoek kijken die poortje 3306 op 127.0.0.1 forward naar de externe mysql server. Connecten naar 127.0.0.1 gaat nu zonder problemen, maar omdat mysql "localhost" gebruikt om te connecten via een unix socket werkt dit niet voor alle scripts.
Nu is hiervoor het tooltje unix2tcp wat netjes unix sockets forward naar een externe server (tcp). Dit werkt opzich vrij aardig, ware het niet dat het soms de soep in loopt bij het inserten van binaire data (scripts die foto's uploaden en in mysql opslaan). Dit is dus ook geen oplossing.
Is het mogelijk om de mysql client te forceren om tcp te gebruiken i.p.v. een unix socket? Dan wordt "localhost" nl. netjes gezien als 127.0.0.1 en werkt de tcp forwarder het net af.
In /etc/my.cnf het volgende regeltje opnemen heeft helaas niet het gewenste resultaat.
code:
1
| protocol = tcp |
Ook de
code:
regel verwijderen heeft geen resultaat.1
| socket = |
In de MySQL manual vind ik wel opties om tcp uit te schakelen (--skip-networking), maar helaas niet het omgekeerde.
Iemand een idee hoe ik alsnog de mysql client kan forceren om via tcp te connecten i.p.v. unix socket?