0

I am deploying a MySQL server behind a proxy server (apache mod_proxy). I am getting this error when I try to connect using mysql client or using php to connect to mysql server.

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

I tried by setting bind-address to 0.0.0.0 and commenting it, but noting worked.

I am doing some port mapping on proxy server in addition to proxying, using proxypass. eg:

ProxyPass / 123.145.1.5:13306
ProxyPassReverse / http://123.145.1.5:13306

I have set the apache server to listen to 3306 and there is no mysql server running on proxy server.

Flimzy
  • 2,454
  • 18
  • 26
gihan
  • 3
  • 1
  • 5
  • From your config it looks like your trying to talk HTTP to MySQL. Is that right? Can mod_proxy go in front of MySQL? – Coops Jun 21 '11 at 08:50
  • Well when it comes to remote logging to mysql-server it uses HTTP right? (Please correct me if I wrong) – gihan Jun 21 '11 at 09:07
  • 1
    Nope, HTTP isn't used by MySQL. If you're looking to simply proxy a mysql connection you may find this easier: http://forge.mysql.com/wiki/MySQL_Proxy – Coops Jun 21 '11 at 09:10
  • Oops. A BIG Thank for saving me. I thought I could do it using mod_proxy. – gihan Jun 21 '11 at 09:16

1 Answers1

2

Just to make this clear, mod_proxy is for HTTP protocol only. It reads headers from HTTP protocol to work.

You should try with iptables:

iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 123.145.1.5:13306
ghm1014
  • 944
  • 1
  • 5
  • 14