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.

  • 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 8: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 9:07
  • 1
    Nope, HTTP isn't used by MySQL. If you're looking to simply proxy a mysql connection you may find this easier: forge.mysql.com/wiki/MySQL_Proxy – Coops Jun 21 '11 at 9:10
  • Oops. A BIG Thank for saving me. I thought I could do it using mod_proxy. – gihan Jun 21 '11 at 9:16
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

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.