1

I am wondering if there exists such a thing that I describe as a "reverse proxy" for MySQL Server. It should be capable of connecting to a specific host from pool of back-end servers. The key to selecting the back-end host would be obtained from part of the username.

For example, I have 3 MySQL Servers in a private LAN, each server hosts different databases with different users:

10.1.1.1
10.1.1.2
10.1.1.3

The MySQL reverse proxy would run on a public facing machine with another interface attached to this LAN.

eth0 -> Public facing IP (mysql.proxy.tld)
eth1 -> 10.1.1.254

A user wants to connect to a database hosted on 10.1.1.2 from a remote location. They would setup the MySQL client connection to use the MySQL proxy as follows:

mysql -u 'databaseuser@10.1.1.2' -h mysql.proxy.tld

The MySQL proxy server will know to use the back-end server 10.1.1.2. It will strip off anything after and including the last '@' and use what is left as the username to the back-end server.

So, the user would actually be connecting to 10.1.1.2 as 'databaseuser'.

Tuaris
  • 71
  • 2
  • 13

0 Answers0